Mathematics Stack Exchange is a question and answer site for people studying math at any level and professionals in related fields. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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!

share|cite|improve this question
up vote 10 down vote accepted

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\}$.

share|cite|improve this answer

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.

share|cite|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.