
OK when I saw this two methods immediately came to mind. One was finding some bijective function

such that

is a root of the polynomial (from now on call it
) only if

is not a root. In this case, (by Occam's razor) the function would most likely be something like

However, this didn't work which brings me to method two - finding lots of double roots. Now the best way to do this is to take derivatives (which is further motivated by the structure of

itself). So let's do that!
From now on we work in

Some important things to keep in my mind will be the simple generalization of Wilson's Theorem given by

and Fermat's Little Theorem. Now note that for any

we have
Noting that the maps

and

are bijective in

we have that
Now consider the polynomial

in
![$ \mathbb{Z}_p[x]. $](//latex.artofproblemsolving.com/1/7/d/17dcadde4fae53411a962431207d2d406ae9a690.png)
We have for any

that

which implies that every root of

is a double root which implies the same for

Hence we have the desired result.

Hmm this is pretty hard - I can rewrite it in terms of generating functions but I don't know if it helps