Proving Gauss' polynomial theorem (Rational Root Test)
Solution 1:
Hint $\displaystyle\rm\ \ 0 = q^n\ P(\frac{p}q)\ =\ a_n\ p^n + q \ \overbrace{(\cdots)}^{\large \in\: \Bbb Z}\ \Rightarrow\ q\:|\: a_n\:p^n\ \!\overset{(p,\,q)\,=\,1}\Rightarrow\! q\:|\:a_n\ $ by Euclid's Lemma.
Note $\ $ This result is usually called the Rational Root Test / Theorem, not Gauss' polynomial theorem. It is special case of Gauss's Lemma for polynomials. Namely, if $\rm\:\alpha\:$ is an algebraic number with primitive minimal polynomial $\rm\: f(x)\in \mathbb Z[x]\:$ and if $\rm\: g(\alpha) = 0\:$ for $\rm\: g(x)\in \mathbb Z[x]\:$ then $\rm\,f\mid g\,$ in $\,\Bbb Q[x]\,$ then $\rm\,f\mid g\,$ in $\,\mathbb Z[x]\,$ by Gauss. Hence the leading coefficient of $\rm\:f\:$ divides the leading coefficient of $\rm\:g,\:$ and ditto for the constant coefficients. The Rational Root Test is just the special case when $\rm\:f\:$ has degree $= 1.\:$ Indeed $\rm\ \alpha = p/q\in \mathbb Q\:$ with $\rm\:(p,q)=1\:$ has primitive minimal polynomial $\rm\: f(x) = q\:x - p\:$. Therefore if $\rm\:g(\alpha) = 0\:$ then the above implies $\rm\ (q\:x-p)\:|\:g\ \ in\ \ \mathbb Z[x]\:$ hence $\rm\:q\:|\:g_n,\ p\:|\:g_0\ \ in\ \ \mathbb Z,\:$ which is precisely the Rational Root Test.
Solution 2:
If you know how to prove the first part, just apply it to the polynomial $t^n P(t^{-1})$.