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!#