Given a polynomial
#P(x) = a_nx^n + a_(n-1)x^(n-1)+...+a_1x+a_0 = sum_(i=0)^na_ix^i#
we can take its derivative to find
#P'(x) = na_nx^(n-1)+(n-1)a_(n-1)x^(n-2)+...+2a_2x+a_1#
# = sum_(i=0)^(n-1)(i+1)a(i+1)x^i#
or evaluate #P(x)# at #0# to get
#P(0) = a_n*0+a_(n-1)*0+...+a_1*0+a_0 = a_0#
thus we can see that our goal is to find #a_0#.
As we have #P(x) - P'(x) = x^n#, we can add #P'(x)# to both sides to get
#P(x) = x^n + P'(x)#
Substituting in our arbitrary polynomial, we have
#sum_(i=0)^na_ix^i = x^n+sum_(i=0)^(n-1)(i+1)a_(i+1)x^i#
As corresponding coefficients must be equal, we can equate the coefficients on each side:
#a_i = {(1 if i=n),((i+1)a_(i+1) if 0 <= i < n):}#
Working our way through the coefficients, starting from #a_n = 1#, that gives
#a_(n-1) = (n-1+1)(1) = n#
#a_(n-2) = (n-2+1)(n) = n(n-1)#
#a_(n-3) = (n-3+1)(n(n-1)) = n(n-1)(n-2)#
At this point we can notice that pattern that each time, we are adding one more term of #n!#. This can be expressed concisely as #a_i = (n!)/(i!)#
So, plugging in our target of #a_0#, we get
#a_0 = (n!)/(0!) = (n!)/1 = n!#