Math calculator

Rational Zeros Calculator

Every rational root a polynomial can have, and the finite list that proves there are no others.

Find every rational zero

The candidate list, the tests, and the divisions — not just the answers.

Degree 2 to 8. Fractional coefficients are cleared first, which does not change the roots.

2x³ − 3x² − 11x + 6

−2, 1/2, 3

All 3 roots are rational, so the polynomial factors completely over the rationals.

Divisors of the constant (p)

1, 2, 3, 6

numerators

Divisors of the leading term (q)

1, 2

denominators

Candidates

12

±p/q, in lowest terms, 2 struck off by the bound rules

Factored

(x + 2)(2x − 1)(x − 3)

complete over the integers

Every candidate, and what f does there

Each rational root candidate with the value of the polynomial at it
p / qf(p/q)Verdict
−6past the lower bound — not tested
−3past the lower bound — not tested
−20a zero
−3/29not a zero
−112not a zero
−1/221/2not a zero
1/20a zero
1−6not a zero
3/2−21/2not a zero
2−12not a zero
30a zero
6264not a zero

Upper bound at 6. Dividing by (x − 6) leaves a bottom row with no negative entry, so no number larger than 6 can be a root. Every bigger candidate can be struck off without testing it.

Lower bound at −2. Dividing by (x − −2) leaves a bottom row whose signs alternate, so no number smaller than −2 can be a root.

Each root divided out, in turn

Dividing out −2

Synthetic division by the root −2
−22−3−116
−414−6
2−730

Quotient 2x² − 7x + 3, remainder 0.

Dividing out 1/2

Synthetic division by the root 1/2
1/22−73
1−3
2−60

Quotient 2x − 6, remainder 0.

Dividing out 3

Synthetic division by the root 3
32−6
6
20

Quotient 2, remainder 0.

Every rational root must appear in that candidate list — so a list with no hits is a proof, not an inconclusive search.

What this tool shows

The candidate list, the value of f at each one, and the division that follows a hit — the search, not only what it turns up.

  • The divisors of the constant term and of the leading coefficient, listed
  • Every ±p/q candidate with the value of the polynomial there
  • Synthetic division for each root, in the order they are divided out
  • The upper and lower bound rules, which strike candidates off without testing them
Every candidate, with f(p/q) beside it Synthetic division for each hit Bound rules that shorten the search Free, no signup

Free, no signup — every candidate value and division is exact.

Updated 6 September 2026 · Works in any browser, no installation

Every rational root of a polynomial is ±p/q, where p divides the constant term and q divides the leading coefficient. For 2x³ − 3x² − 11x + 6 that is 12 candidates in total, of which 3 turn out to be roots: −2, 1/2, 3. The factorisation is (x + 2)(2x − 1)(x − 3).

At a glance

Formula shown
Every rational root is \u00b1p/q with p a divisor of the constant term and q a divisor of the leading coefficient. The list is finite, and it contains every rational root there is.
Scenario support
Polynomials of degree 2 to 8 with rational coefficients.
Educational estimate
Planning support from the values you enter — not professional advice.

Why the candidate list is finite at all

Suppose p/q is a root in lowest terms. Substitute it, multiply through by qn, and every term but one has a factor of q — so q must divide the leading coefficient. Move a different term across instead and every term but one has a factor of p, so p must divide the constant term. Two divisibility conditions, and between them they leave only finitely many possibilities.

That is the whole theorem, and it is why the method works: an infinite search becomes a finite one. For 2x³ − 3x² − 11x + 6 the constant is 6 and the leading coefficient is 2, so p ∈ {1, 2, 3, 6} and q ∈ {1, 2}, giving 12 candidates once duplicates in lowest terms are removed.

Note what the theorem does not say. It does not promise a rational root exists, and it says nothing whatever about irrational or complex ones. It is a statement of the form “if there is a rational root, it is one of these” — which is exactly what makes an exhausted list a proof rather than a failed attempt.

What the bound rules buy you

Testing every candidate works and is slow. Two rules cut the list down first, and both fall out of synthetic division you were going to do anyway:

  • Upper bound. Divide by a positive candidate c. If the bottom row has no negative entry, no number larger than c can be a root — every larger divisor would make the running total grow and never return to zero.
  • Lower bound. Divide by a negative candidate c. If the signs of the bottom row alternate, nothing smaller than c can be a root.

For x⁴ − 5x² + 4 the candidate list runs to 6 entries, and the bounds strike off 0 of them without evaluating the polynomial there. The tool marks those rows “not tested” rather than “not a zero”, because those are different claims and only one of them was checked.

On a degree-8 polynomial with a constant like 60 the candidate list can run past a hundred entries, and this is the difference between a method you would actually use by hand and one you would not.

Synthetic division, and why it is the right tool here

Once a candidate tests as a root, the polynomial should be divided by (x − r) before the search continues — the remaining polynomial is one degree smaller, so its candidate list is shorter and its arithmetic is easier. Synthetic division does that in one row of additions.

It also does double duty. The last entry of the bottom row is the remainder, which by the remainder theorem is f(r) — so the same three lines that divide out a root also test whether it is one. A zero there means the division was exact; anything else means the candidate missed.

x⁴ − 5x² + 4 shows the cascade: 4 roots divided out in turn, each leaving a smaller polynomial, ending at a constant. That is what “factors completely over the rationals” looks like as a procedure — (x + 2)(x + 1)(x − 1)(x − 2).

When a zero constant term breaks the theorem

If the constant term is zero, every integer divides it, and the candidate list is infinite. The theorem has not failed; it simply does not apply, and a tool that returns an empty list there is reporting something false.

The fix is one line of factoring. A zero constant means x itself is a factor, so pull out the highest power of x that divides the polynomial. That hands you the root x = 0 with its multiplicity for free, and leaves a polynomial with a non-zero constant that the theorem does cover.

x⁴ − 2x³ − 8x² is that case: x² comes out first, giving x = 0 as a double root, and the search then runs on x² − 2x − 8. The complete factorisation is x²(x + 2)(x − 4).

“No rational zeros” is a result, not a failure

x³ − 2 has 4 candidates, and none of them is a root. That is not an inconclusive search — it is a proof that the polynomial has no rational roots at all, because the theorem guarantees any rational root would have been in that list.

It still has three roots. One is the real cube root of 2, an irrational number, and the other two are complex. The theorem is silent about all three, which is the correct behaviour: it is a tool for finding rational roots and it says so.

This matters because “does not factor over the rationals” is a genuine and useful property. It is what makes x³ − 2 irreducible over ℚ, and it is the reason the cube root of 2 cannot be constructed with straightedge and compass — a two-thousand-year-old question answered by exactly this kind of argument.

What is left over, and what to do with it

After every rational root is divided out, something remains. If it is a constant, the polynomial factored completely. If it is a quadratic, the quadratic formula finishes it exactly — irrational or complex, but exact.

x⁵ − 2x⁴ − x + 2 ends that way: the rational roots are −1, 1, 2, and what remains is x² + 1, which has no rational roots but is perfectly factorable over the complex numbers. Over the integers, (x + 1)(x − 1)(x − 2)(x² + 1) is the complete factorisation, and leaving that quadratic whole is the right answer rather than an unfinished one.

If what remains is degree 3 or more with no rational roots, exact radicals may not exist — that is the Cubic Equation Calculator’s territory, where the same question gets a numerical answer and an explanation of why. 3x⁴ + 5x³ − 5x² − 5x + 2 is the happier case: every root rational, including 1/3, which the q-list is there to find.

Sources and methodology

The Rational Root Theorem and the bound rules are standard results; the reference below is where their canonical statements live.

Method. Every figure on this page comes from src/lib/rational-zeros.ts over the exact-rational polynomial arithmetic in src/lib/algebra/poly.ts. The candidate list, the value of the polynomial at each candidate, the synthetic divisions and the factorisation are all exact integer and fraction arithmetic — no candidate is accepted or rejected on a floating-point comparison. That engine is verified on every change against 52 hand-written assertions, including that the printed factorisation multiplies back to the original polynomial and that the bound rules never strike off an actual root. The count and the per-case breakdown are published on the formula verification page.

Related calculators

Where this goes next:

Cubic EquationSolve any cubic exactly when it has a rational root — deflate and finish with the quadratic formula — and by the trigonometric form when it does not, with the discriminant saying which case you are in.
Descartes' Rule of SignsCount the sign variations in f(x) and f(-x), list every combination of positive, negative and complex roots the rule permits, and see which one is actually true.
Polynomial DivisionDivide polynomials by long division or synthetic division, with the quotient, the remainder, the remainder theorem check and every stage of the working.
Factoring TrinomialsFactor a trinomial by the AC method with every factor pair of ac listed, the common factor taken out first, and the answer multiplied back out to check it.
Quadratic FormulaSolve any quadratic with exact roots — surds stay surds and a negative discriminant gives the complex pair — plus the vertex, the factored form and every step of the working.
DiscriminantEvaluate b² − 4ac, the cubic and quartic discriminants, or D = f_xx·f_yy − (f_xy)² for the second-derivative test, in exact arithmetic so the sign is never a rounding artefact.

More in Math, or browse all calculators.

Read the guide

Finding the zeros is one half of the work; knowing what kind to expect is the other. Adding, Multiplying and Dividing Polynomials — the Four Operations covers the division this page leans on, including the missing-power column that shifts a synthetic division and produces a plausible wrong answer.

Educational use disclaimer

This calculator applies the Rational Root Theorem to polynomials of degree 2 to 8 with rational coefficients. Every step is exact — the candidate list, the value of the polynomial at each candidate, the synthetic divisions and the resulting factorisation. A polynomial with no rational zeros is reported as having none, which the theorem proves rather than leaves open; the irrational and complex roots such a polynomial still has are outside what this page finds.

How we calculate · Found an error? email us

Authorship & verification

Written and maintained by , a business operator who builds spreadsheet-based calculators.

What's changed (3 updates)

Published 6 September 2026

  1. Published the rational zeros page: the p/q candidate list, the value of f at every candidate, and synthetic division for each hit — the search, not only its result.
  2. Applies the upper and lower bound rules so most of the list can be struck off without testing, which is the part that makes the technique finish on a real problem.
  3. Treats a zero constant term as the theorem's own limit and factors x out first, rather than returning an empty candidate list that reads as no rational roots.

Add this calculator to your site

Responsive embed — and private: nothing your visitors type leaves their browser.