# Polynomial $p(a) = 1$, why does it have at most 2 integer roots?

The question that I am trying to answer is :

Suppose is $p(x)$ is a polynomial with integer coefficients. Show that if $p(a) = 1$ for some integer a then $p(x)$ has at most two integer roots.

I have no idea how to get started. Any help would be awesome!

-

If $x_1, x_2, x_3$ are three distinct integer roots of $p$, we can write $$p(x)=(x-x_1)(x-x_2)(x-x_3)q(x)$$ and find $$1=(a-x_1)(a-x_2)(a-x_3)q(a)$$ where $a-x_1, a-x_2, a-x_3$ are pairwise distinct integers and $q(a)$ is a nonzero integer. At most two of $a-x_1, a-x_2, a-x_3$ can be $\in\{\pm1\}$.

-

Hint $\$ It is the special case $\,\color{#c00}{f(n)=1}$ of the following general

Key Idea $\$ The possible factorizations of a polynomial $\in\Bbb Z[x]$ are constrained by the factorizations of the integer values that the polynomial takes. For a simple example, if some integer value has few factorizations (e.g. a unit $\,\pm1$ or prime $p$) then the polynomial must also have few factors, asssuming that that the factors are distinct at the evaluation point. More precisely

If $\, f(x) = f_1(x)\cdots f_k(x)\,$ and $\,f_i\in\Bbb Z[x]\,$ satisfy $\color{#0a0}{f_i(n) \ne f_j(n)}\,$ for $\,i\ne j,$ all $\,n\in \Bbb Z$

$\quad \color{#c00}{f(n) =\pm1}\,\Rightarrow\, k\le 2\$ else $1$ would have $\rm\,3\,\ \color{#0a0}{distinct}$ factors $\,f_1(n),f_2(n),f_3(n)$

$\quad f(n) = \pm p\,\Rightarrow\, k\le \color{#c0f}4\$ since a prime $p$ has at most $\,\color{#c0f}4\,$ distinct factors $\,\pm1,\pm p$

Yours is a special case of the first (unit) case, where the $f_i$ are linear.

Remark $\$ One can push the key idea to the hilt to obtain a simple algorithm for polynomial factorization using factorization of its integer values and Lagrange interpolation. The ideas behind this algorithm are due in part to Bernoulli, Schubert, Kronecker. See this answer for references.

-