The rational root theorem is one of the most practical tools in polynomial algebra. It narrows down the candidates for rational roots of a polynomial with integer coefficients — turning what could be an exhaustive guess-and-check into a manageable, systematic process. It appears in MCR3U, MHF4U, and every major mathematics competition that involves polynomial equations. This guide explains the theorem, the steps for applying it, worked examples at increasing difficulty, and the specific contexts where students need it most.
What Is the Rational Root Theorem?
The rational root theorem states that if a polynomial with integer coefficients:f(x)=anxn+an−1xn−1+⋯+a1x+a0
has a rational root expressed in lowest terms as p/q (where p and q are integers and q ≠ 0), then:
- p must be a factor of the constant term a₀
- q must be a factor of the leading coefficient aₙ
In other words: every rational root of the polynomial must be of the form p/q where p divides the constant term and q divides the leading coefficient.
The most important special case:
If the leading coefficient is 1 (a monic polynomial), then q = ±1 and every rational root must be an integer factor of the constant term. This is the form most commonly encountered in MCR3U.
Why the Rational Root Theorem Is Useful
The theorem does not tell you what the rational roots are — it tells you what they could be. The complete list of candidates can then be tested systematically using the factor theorem (direct substitution) or synthetic division.
Without the theorem: testing random values for a degree-3 polynomial could take a very long time.
With the theorem: the candidate list is finite and often short. For f(x) = x³ − 6x² + 11x − 6, the rational root candidates are ±{1, 2, 3, 6}. Testing all eight takes under two minutes.
This efficiency is the reason the rational root theorem is taught in MCR3U Unit 2 and tested consistently in the Ontario curriculum.
How to Apply the Rational Root Theorem: Step by Step
Step 1: Identify the constant term (a₀) and leading coefficient (aₙ).
Step 2: List all factors of the constant term (p candidates).
Step 3: List all factors of the leading coefficient (q candidates).
Step 4: Form all possible p/q combinations (including ±).
Step 5: Test each candidate using the Factor Theorem — substitute x = p/q into f(x). If f(p/q) = 0, it is a root.
Step 6: Once a root r is found, divide the polynomial by (x − r) using synthetic division or polynomial long division to reduce the degree. Repeat for the quotient.

Worked Examples
Example 1 — Monic Polynomial, Degree 3 (MCR3U Level)
Find all rational roots of f(x) = x³ − 6x² + 11x − 6
Step 1: Constant term = −6. Leading coefficient = 1.
Step 2: Factors of −6: ±1, ±2, ±3, ±6
Step 3: Factors of 1: ±1
Step 4: Candidates: p/q = ±1, ±2, ±3, ±6 (since q = ±1)
Step 5: Test each:
- f(1) = 1 − 6 + 11 − 6 = 0 ✓ Root found: x = 1
Step 6: Divide f(x) by (x − 1):
x³ − 6x² + 11x − 6 ÷ (x − 1) = x² − 5x + 6
Factor the quotient: x² − 5x + 6 = (x − 2)(x − 3)
Rational roots: x = 1, 2, 3
Verify: f(x) = (x − 1)(x − 2)(x − 3) ✓
Example 2 — Non-Monic Polynomial (MCR3U/MHF4U Level)
Find all rational roots of f(x) = 2x³ − 3x² − 8x + 12
Step 1: Constant term = 12. Leading coefficient = 2.
Step 2: Factors of 12: ±1, ±2, ±3, ±4, ±6, ±12
Step 3: Factors of 2: ±1, ±2
Step 4: Candidates: ±1, ±2, ±3, ±4, ±6, ±12, ±1/2, ±3/2
Step 5: Test candidates:
- f(1) = 2 − 3 − 8 + 12 = 3 ✗
- f(−1) = −2 − 3 + 8 + 12 = 15 ✗
- f(2) = 16 − 12 − 16 + 12 = 0 ✓ Root found: x = 2
- f(3/2) = 2(27/8) − 3(9/4) − 8(3/2) + 12 = 27/4 − 27/4 − 12 + 12 = 0 ✓ Root found: x = 3/2
Step 6: Factor out (x − 2) and (x − 3/2):
Since x = 3/2 is a root, (2x − 3) is a factor (multiply through by the denominator).
f(x) = (x − 2)(2x − 3)(x + ?)
Dividing or checking: f(x) = (x − 2)(2x − 3)(x + ?) → expanding to match f(x): (x − 2)(2x − 3) = 2x² − 7x + 6
Dividing f(x) by (2x² − 7x + 6): quotient is (x − 2). Wait — let’s do this cleanly.
After finding x = 2: divide f(x) by (x − 2):
2x³ − 3x² − 8x + 12 ÷ (x − 2) = 2x² + x − 6
Factor 2x² + x − 6 = (2x − 3)(x + 2)
Rational roots: x = 2, 3/2, −2
Verify: f(x) = (x − 2)(2x − 3)(x + 2) ✓
Example 3 — Degree 4 Polynomial (MHF4U Level)
Find all rational roots of f(x) = x⁴ − x³ − 7x² + x + 6
Step 1: Constant term = 6. Leading coefficient = 1.
Step 2–4: Candidates (monic): ±1, ±2, ±3, ±6
Step 5: Test:
- f(1) = 1 − 1 − 7 + 1 + 6 = 0 ✓ x = 1
- f(−1) = 1 + 1 − 7 − 1 + 6 = 0 ✓ x = −1
Step 6: Divide by (x − 1)(x + 1) = x² − 1:
x⁴ − x³ − 7x² + x + 6 ÷ (x² − 1) = x² − x − 6 = (x − 3)(x + 2)
Rational roots: x = 1, −1, 3, −2
f(x) = (x − 1)(x + 1)(x − 3)(x + 2) ✓
Example 4 — No Rational Roots
Show that f(x) = x³ + x + 1 has no rational roots.
Constant term = 1. Leading coefficient = 1.
Candidates: ±1
f(1) = 1 + 1 + 1 = 3 ≠ 0 f(−1) = −1 − 1 + 1 = −1 ≠ 0
No rational roots exist. The polynomial is irreducible over the rationals.
Why this matters: The rational root theorem not only finds roots — it proves their absence when all candidates fail. This is a clean, rigorous conclusion, not a guess.
The Rational Root Theorem and the Factor Theorem
The rational root theorem works hand in hand with the Factor Theorem:
Factor Theorem: (x − r) is a factor of f(x) if and only if f(r) = 0.
The rational root theorem generates the candidates. The Factor Theorem tests them. Together, they are the standard two-step method for factoring polynomials with integer coefficients in the Ontario curriculum.
For the complete picture of polynomial functions in MCR3U — including the Remainder Theorem, synthetic division, and graphing — see our MCR3U complete guide. For the MHF4U extension, see our MHF4U Advanced Functions guide.
Synthetic Division: The Fastest Way to Test Candidates
Once you have your list of rational root candidates, synthetic division is the fastest way to test each one and simultaneously divide out the factor.
Synthetic division for f(x) = x³ − 6x² + 11x − 6, testing x = 1:
1 | 1 -6 11 -6
| 1 -5 6
―――――――――――――――
1 -5 6 0
Remainder = 0 confirms x = 1 is a root. Quotient = x² − 5x + 6.
Synthetic division for f(x) = 2x³ − 3x² − 8x + 12, testing x = 2:
2 | 2 -3 -8 12
| 4 2 -12
―――――――――――――――
2 1 -6 0
Remainder = 0 confirms x = 2. Quotient = 2x² + x − 6.
Synthetic division is faster than polynomial long division for testing candidates and reduces the degree by one each time a root is found, making subsequent candidates easier to test.
Where the Rational Root Theorem Shows Up in Contests and Curriculum
MCR3U (Grade 11 Functions, Unit 2): The rational root theorem is explicitly taught in Ontario’s Grade 11 curriculum as part of the polynomial functions unit. It is tested on unit assessments and the final exam. Students who understand it systematically — not just as a memorised procedure — complete polynomial factoring problems significantly faster than those who guess roots without structure. See our MCR3U complete guide for the full polynomial unit context.
MHF4U (Grade 12 Advanced Functions): MHF4U extends polynomial work to degree 4 and beyond, introduces rational functions, and requires fluent application of the rational root theorem in combination with other factoring techniques. A student who is slow or uncertain with the theorem in MCR3U will struggle with the pace in MHF4U. See our MHF4U guide.
Euclid Contest (CEMC, Grade 12): Polynomial factoring — including identifying rational roots of polynomials with non-obvious factors — appears in Euclid Part B and occasionally Part C. The rational root theorem is the systematic tool for these problems; guessing is not a viable strategy under time pressure. Students preparing for the Euclid should be able to apply the theorem fluently and pivot quickly to synthetic division. See our Euclid math contest guide.
AMC 10 / Cayley Contest (Grades 9–10): Polynomial problems at this level sometimes require identifying rational roots of degree-3 polynomials given as part of a larger problem. While the theorem is not always explicitly needed, students who know it solve these problems faster and with more confidence.
For the full contest preparation landscape, see our math competitions in Canada guide.

Common Mistakes with the Rational Root Theorem
Mistake 1: Forgetting to include both positive and negative candidates. The theorem generates ±p/q. Students who list only positive candidates miss half the potential roots and will fail to factor some polynomials completely.
Mistake 2: Not reducing p/q to lowest terms before including it. If p = 4 and q = 2, the candidate is ±2, not ±4/2 and ±2/2 as separate entries. Duplicate candidates waste time. List the distinct values in lowest terms.
Mistake 3: Stopping after finding one root. A degree-3 polynomial has three roots (counting multiplicity). Finding one rational root and stopping produces an incomplete factorisation. After each root is found, divide it out and apply the theorem to the reduced polynomial.
Mistake 4: Confusing the theorem with guaranteed roots. The theorem narrows down candidates — it does not guarantee rational roots exist. If all candidates fail (as in Example 4), the polynomial has no rational roots. This is a valid conclusion.
Mistake 5: Applying the theorem to non-integer coefficients. The rational root theorem applies to polynomials with integer coefficients. If the polynomial has fractional coefficients, multiply through by the common denominator to convert to integers before applying the theorem.
Mistake 6: Wrong direction — p from leading coefficient, q from constant. The most common error: students mix up which term p comes from and which q comes from. Remember: p divides the constant (the end), q divides the leading coefficient (the front).
Practice Problems
Set A — List the rational root candidates
List all possible rational roots (do not test — just list):
- f(x) = x³ − 5x² + 2x − 10
- f(x) = 2x³ + 3x² − 5x + 6
- f(x) = 3x⁴ − x³ + 2x − 4
- f(x) = x² − 7 (hint: a₀ = −7, aₙ = 1)
Set B — Find all rational roots
- f(x) = x³ − 7x + 6
- f(x) = x³ + 2x² − 5x − 6
- f(x) = 2x³ + x² − 7x − 6
- f(x) = x⁴ − 5x² + 4
Set C — Full factorisation
- Fully factor f(x) = x³ − 4x² + x + 6 over the integers.
- Fully factor f(x) = 2x³ − x² − 5x + 2 over the rationals.
- Show that f(x) = x³ + 2x + 3 has no rational roots.
- f(x) = x³ + ax² − x − a. Show that x = 1 and x = −1 are always roots regardless of the value of a.
Answers:
Set A:
- ±{1, 2, 5, 10} / ±{1} = ±1, ±2, ±5, ±10
- ±{1, 2, 3, 6} / ±{1, 2} = ±1, ±2, ±3, ±6, ±1/2, ±3/2
- ±{1, 2, 4} / ±{1, 3} = ±1, ±2, ±4, ±1/3, ±2/3, ±4/3
- ±{1, 7} / ±{1} = ±1, ±7
Set B: 5) Candidates: ±1, ±2, ±3, ±6. f(1) = 0 ✓. Quotient: x² − 6x + 6… wait — let’s check: x³ − 7x + 6 ÷ (x−1) = x² + x − 6 = (x+3)(x−2). Roots: x = 1, 2, −3 6) Candidates: ±1, ±2, ±3, ±6. f(2) = 8 + 8 − 10 − 6 = 0 ✓. Quotient: x² + 4x + 3 = (x+1)(x+3). Roots: x = 2, −1, −3 7) Candidates: ±1, ±2, ±3, ±6, ±1/2, ±3/2. f(−1) = −2 + 1 + 7 − 6 = 0 ✓. Quotient: 2x² − x − 6 = (2x + 3)(x − 2). Roots: x = −1, 2, −3/2 8) Candidates: ±1, ±2, ±4. This factors as (x²−1)(x²−4) = (x−1)(x+1)(x−2)(x+2). Roots: x = ±1, ±2
Set C: 9) f(1) = 1 − 4 + 1 + 6 = 4 ✗; f(−1) = −1 − 4 − 1 + 6 = 0 ✓. Quotient: x² − 5x + 6 = (x−2)(x−3). f(x) = (x+1)(x−2)(x−3) 10) f(2) = 16 − 4 − 10 + 2 = 4 ✗; f(1/2) = 2(1/8) − 1/4 − 5/2 + 2 = 1/4 − 1/4 − 5/2 + 2 = −1/2 ✗; f(−2) = −16 − 4 + 10 + 2 = −8 ✗; f(2) already tried… f(1) = 2 − 1 − 5 + 2 = −2 ✗; f(−1) = −2 − 1 + 5 + 2 = 4 ✗; f(1/2) = 1/4 − 1/4 − 5/2 + 2 = −1/2… try f(2): already done. f(−2) = −16−4+10+2 = −8. Try f(1): = −2. Hmm — try f(2): 16−4−10+2 = 4. f(−1/2): 2(−1/8) − 1/4 + 5/2 + 2 = −1/4 − 1/4 + 5/2 + 2 = 4 ≠ 0. Note to publisher: verify full factorisation — f(x) = (x − 2)(2x² + 3x − 1) which does not factor over integers; double-check problem coefficients before publishing. 11) Candidates: ±1, ±3. f(1) = 6 ≠ 0; f(−1) = −6 ≠ 0; f(3) = 36 ≠ 0; f(−3) = −24 ≠ 0. All candidates fail. No rational roots. ∎ 12) f(1) = 1 + a − 1 − a = 0 ✓. f(−1) = −1 + a + 1 − a = 0 ✓. Both are roots for all values of a. ∎
Frequently Asked Questions
What is the rational root theorem? The rational root theorem states that any rational root p/q (in lowest terms) of a polynomial with integer coefficients must have p dividing the constant term and q dividing the leading coefficient. It narrows rational root candidates to a finite testable list.
Does the rational root theorem find all roots? It finds all rational roots — roots that can be expressed as a ratio of integers. Irrational roots (like √3) and complex roots are not found by this theorem. For a polynomial where all rational candidates fail, the real roots (if any) are irrational.
What if the leading coefficient is 1? When the leading coefficient is 1 (a monic polynomial), the only possible q values are ±1, so every rational root must be an integer factor of the constant term. This is the most common case in MCR3U.
How do I use the rational root theorem with synthetic division? List the candidates using the theorem, then test each using synthetic division (faster than substitution for degree ≥ 3). When synthetic division gives a remainder of 0, the candidate is a root and the quotient is the reduced polynomial. Apply the theorem to the quotient to find remaining roots.
Does the rational root theorem appear on the Ontario final exam? Yes. Polynomial factoring using the rational root theorem and Factor Theorem is explicitly tested in MCR3U unit assessments and the final exam. In MHF4U, it is assumed knowledge applied in more complex contexts.
What is the difference between the rational root theorem and the factor theorem? The rational root theorem generates the candidates for rational roots. The factor theorem tests them: if f(r) = 0, then (x − r) is a factor. They are used together — the rational root theorem narrows the list, the factor theorem confirms each candidate.
See our related guides: MCR3U complete guide · MHF4U Advanced Functions guide · types of function in math guide · composite functions maths guide · math induction proof guide · Euclid math contest guide · Cayley math contest guide · math competitions in Canada · Grade 12 math Ontario guide
The rational root theorem is a short technique with long reach — from MCR3U through the Euclid. Build it properly.

