The Rational Root Theorem
A cubic or quartic can have dozens of numbers you might try as roots — the Rational Root Theorem turns that endless guessing game into one short, exact list of candidates worth testing.
By the end you'll be able to build the ± p/q candidate list from a polynomial's constant term and leading coefficient, then confirm which candidates are actual roots by evaluating the polynomial.
Predict: for \(p(x) = 2x^3 - 3x^2 - 8x - 3\) below, the candidate list has both whole numbers and fractions. Before you click anything — do you expect more of the whole-number candidates or more of the fraction candidates to turn out to be actual roots? There's no way to know without testing. Click a dot below to test it.
Drag leading coefficient a and constant term c to reshape \(p(x) = ax^3 - 3x^2 - 8x + c\). The candidate list below regenerates live from the factors of c (numerators) and factors of a (denominators). Click a dot to evaluate \(p(x)\) there — a candidate lights up green only when \(p(x) = 0\), confirming it's an actual root.
p(x) = 2x³ − 3x² − 8x − 3
0 of 8 candidates tested · 0 confirmed roots.
The theorem doesn't find roots for you — it shrinks an infinite search down to a short, exact checklist of the only numbers that could possibly work.
If \(p(x) = a_nx^n + \cdots + a_1x + a_0\) has integer coefficients and a rational root \(p/q\) in lowest terms, then p must divide the constant term \(a_0\) and q must divide the leading coefficient \(a_n\). So every candidate has the form
\(\pm \dfrac{\text{factor of } a_0}{\text{factor of } a_n}\)
That's it — the theorem only narrows the search. Whether a candidate is actually a root is a separate question, answered by the Factor Theorem: plug the candidate c into p(x); if \(p(c) = 0\), c is a root and \((x-c)\) is a factor. Roots that are irrational (like \(\sqrt2\)) or complex never appear on the list at all, since the list is built purely from integer factors.
- List the factors (positive and negative) of the constant term — these are the p's.
- List the factors of the leading coefficient — these are the q's.
- Form every \(\pm p/q\) combination; that's the full candidate list.
- Test candidates by evaluating \(p(x)\) at each one (or by synthetic division — a zero remainder means it's a root).
- Once a root c is confirmed, divide \(p(x)\) by \((x-c)\) and keep testing the smaller quotient — fewer candidates survive at each pass.
Before graphing calculators, this was the only practical way to crack a cubic or quartic by hand: instead of scanning every real number for a zero, you test a short, guaranteed checklist. It's still the fastest way to spot an easy factor before reaching for the quadratic formula or a numerical solver on whatever's left.
Find the rational roots of \(p(x) = 2x^3 - 3x^2 - 8x - 3\). Constant \(-3\) has factors {1, 3}; leading coefficient 2 has factors {1, 2}. Candidates: \(\pm 1, \pm 3, \pm 1/2, \pm 3/2\). Testing: \(p(1) = 2-3-8-3=-12\) (no); \(p(-1) = -2-3+8-3=0\) — a root! Divide by \((x+1)\) (synthetic division) to get quotient \(2x^2-5x-3 = (2x+1)(x-3)\). All roots: \(x = -1, -1/2, 3\) — every one drawn from the candidate list.
For \(p(x) = 3x^3 - 4x^2 - 5x + 2\): constant 2 has factors {1, 2}; leading coefficient 3 has factors {1, 3}, so the candidates are \(\pm 1, \pm 2, \pm 1/3, \pm 2/3\). Testing \(p(-1) = -3-4+5+2 = 0\) — a root. Dividing by \((x+1)\) gives quotient \(3x^2 - 7x + 2 = (3x-1)(x - \)____\()\), so the remaining roots are \(x = 1/3\) and \(x = \)____.
Reveal the answer
\(3x^2 - 7x + 2 = (3x-1)(x-2)\), so the remaining root is \(x = \) 2. All roots: \(x = -1, 1/3, 2\) — every one drawn from the same ± p/q candidate list, confirmed the same way: evaluate and check for a zero.
More info — why the theorem only narrows, and never guarantees, a root
Write a rational root as p/q in lowest terms and substitute it into \(a_nx^n + \cdots + a_1x + a_0 = 0\), then multiply through by \(q^n\) to clear denominators. Every term but one ends up with a factor of p or a factor of q, forcing p to divide \(a_0\) and q to divide \(a_n\) — that's where the theorem comes from. It's a necessary condition on candidates, not a sufficient one: plenty of integer-coefficient polynomials have candidate lists where nothing on the list is actually a root (their real roots are all irrational). See the Purplemath link in Dive deeper for the full derivation with more worked candidate lists.
Check your understanding
List the possible rational roots of \(p(x) = 3x^3 + 2x^2 - 7x - 2\).
A cubic with integer coefficients has one rational root and two irrational roots. What will the Rational Root Theorem's ± p/q candidate list contain?
For \(p(x) = x^3 - 2x^2 - 5x + 6\), \(x = 1\) is on the Rational Root Theorem's candidate list. How do you confirm whether it's an actual root, and what do you find?
For \(p(x) = 5x^4 - x^3 + 3x - 10\), which of these is NOT a valid candidate under the Rational Root Theorem?
Recap
- Candidates are \(\pm\)(factor of the constant term)/(factor of the leading coefficient) — build the p list and the q list, then form every ± p/q combination.
- The theorem only narrows the search; it never guarantees any candidate is an actual root.
- Confirm a candidate c by evaluating \(p(c)\) (the Factor Theorem): \(p(c) = 0\) means c is a root and \((x-c)\) is a factor.
- Irrational and complex roots never appear on the candidate list — it's built purely from integer factors.
- Once you confirm one root, divide it out and keep testing the smaller quotient — the candidate list only ever shrinks the search, one factor at a time.
Dive deeper
- Purplemath — The Rational Roots Test Build the +/- p/q candidate list from the coefficients.
- Paul's Online Notes — Finding Zeroes of Polynomials Combine the theorem with synthetic division to locate roots.
Sources
- The Rational Root Theorem