$P(x)\in \mathbb{R}[x]$, If $P(x)=n$ has at least one rational zero for $\forall n \in \mathbb{N}$, $P(x)=ax+b$ Question:

Let $P(x)\in \mathbb{R}[x]$. If $P(x)=n$ has at least one rational zero for $\forall n \in \mathbb{N}$, show that $P(x)=ax+b$ where $a$ and $b$ are rational.

I totally do not know how I should solve this.
When I set $g(x)=P(x)-n$, the derivation is $g'(x)=P'(x)$. ... That's what I found.
In addition, how can I use the condition that $P(x)=n$ has a rational zero? Could you please give me some key points to the problem I'm suffering from? Thanks.
 A: WLOG, suppose that the leading coefficient of $P$ is positive. By the Lagrange interpolation formula, $P$ must have rational coefficients. 
Let $Q(x) = m P(x)$, where $m$ is a positive integer chosen so that $Q$ has integer coefficients. Let the leading coefficient of $Q$ be $c$, and let its constant term be $d$. From the given hypothesis, for all sufficiently large primes $p$, we can find some positive rational number $r$ such that $Q(r) = p + d$. 
By the rational root theorem, all rational roots of the polynomial $Q(x) - (p-d)$ must be of the form $\dfrac{\pm p}{s}$, where $s$ is a divisor of $c$. Hence, $r \geq \dfrac{p}{c}$. On the other hand, if $\deg Q > 1$, then 
$$0 = Q(r) - (p-d) \geq Q(\frac{p}{c}) - (p-d) \geq O(p^2),$$ 
which is clearly impossible. Hence, the degree of $P$ must be less than or equal to 1.
A: Let $P(x)=\alpha_nx^n+\ldots +\alpha_0$ with $\alpha_i\in\Bbb R$ and $\alpha_n\ne 0$.
For $k\in\Bbb N$, let $q_k$ be a rational root of $P(x)-k$.
Then the $\deg P+1$ points $(q_k,k)$, $k=1,2,\ldots, \deg P+1$ determine $P$ uniquely and we can find the coefficients of $P$ from them by solving a system of linear equations with all coefficients rational. It follows that all $\alpha_i$ are rational.
Then for suitable $M\in\Bbb N$, all $a_i:=M\alpha_i$ are integer.
By the rational root theorem, any rational root $q_k$ of 
$MP(x)-kM $, i.e., of
$$a_nx^2n+a_{n-1}x^{n-1}+\ldots +(a_0-kM) $$
(at least when $kM\ne a_0$)
is of the form $q_k=\frac {u_k}{v_k}$ where $u_k\mid a_0-kM$ and $v_k\mid a_n$. In particular, $r_k:=a_nq_k\in \Bbb Z$ for all $k$. (If $kM=a_0$, we can divide out a power of $x$ and at least still obtain $q_k\in\frac1{a_n}\Bbb Z$, so still $r_k\in\Bbb Z$). So with $Q(x):=MP(a_n x)\in\Bbb Z[x]$ we are given that $Q(x)-kM$ has an integer root $r_k$ for all  $k\in\Bbb N$.
By the Mean Value Theorem, there exists $\xi_k$ between $r_k$ and $r_{k+1}$ with 
$$ \left|Q'(\xi_k)\right|=\left|\frac{Q(r_{k+1})-Q(r_k)}{r_{k+1}-r_k}\right|=\frac{M}{|r_{k+1}-r_k|}\le M.$$
Similarly, there exists $\eta_k$ between $r_k$ and $r_{k+2}$ with 
$$ \left|Q'(\eta_k)\right|=\left|\frac{Q(r_{k+2})-Q(r_k)}{r_{k+2}-r_k}\right|=\frac{2M}{|r_{k+2}-r_k|}\le 2M.$$
Assume $Q'$  is not constant. Then there exists $L$ such that $|Q(x)|>2M$ for all $x$ with $|x|>L$. Therefore $|\xi_k|\le L$ and $|\eta_k|\le L$ for all $k$.
Since the $r_k$ are all distinct and only finitely many integers are between $-L$ and $L$, there exists $k$ such that $|r_k|, |r_{k+1}|, |r_{k+2}|$ are all $>L$. As among $r_k,r_{k+1},r_{k+2}$, two numbers must have the same sign,  it follows that one of $|\xi_k|, |\xi_{k+1}\|, |\eta_k|$ is $>L$, contradiction. We conclude that $Q'$ is constant.
Then $Q$, as well as $P$ is at most linear. It can clearly not be constant, hence
$$ P(x)=ax+b$$
with  $a,b\in\Bbb Q$.
