The zero-finding toolkit
Everything that narrows down, certifies, counts, or corners the roots of a polynomial.
Start with Descartes' Rule to learn the shape of the answer. List candidates with the Rational Zero Theorem. Prune the list with the bound tests. Confirm each hit with the Factor Theorem. If candidates run out before every zero is found, the Intermediate Value Theorem corners whatever's left — the Conjugate Pair Theorem guarantees any nonreal zero comes with a partner, and the Irrational Root Theorem does the same for a real irrational zero of the form a+\sqrt b.
If f(x) = a_n x^n + \cdots + a_1 x + a_0 has integer coefficients and \frac{p}{q} (in lowest terms) is a rational zero, then p divides a_0 and q divides a_n.
Thus every rational zero appears in the finite list \frac{p}{q} : \quad p \mid a_0, \quad q \mid a_n. The theorem does not promise any of the candidates is a zero. It only guarantees that no rational zero hides outside the list.
Lists every possible rational zero as a fraction of two factors.
Show proof
Substitute x = \frac{p}{q} into f(x) = 0: a_n \left(\frac{p}{q}\right)^n + a_{n-1}\left(\frac{p}{q}\right)^{n-1} + \cdots + a_1\left(\frac{p}{q}\right) + a_0 = 0. Multiply every term by q^n to clear denominators: a_np^n + a_{n-1}p^{n-1}q + \cdots + a_1pq^{n-1} + a_0q^n = 0.
Isolate the constant term: a_0q^n = -\left(a_np^n + a_{n-1}p^{n-1}q + \cdots + a_1pq^{n-1}\right). Every term on the right has a factor of p, so p divides a_0q^n. Because \frac{p}{q} is in lowest terms, p and q share no prime factor, so p shares no prime factor with q^n either — meaning p must divide a_0 on its own.
The same move on the leading term gives a_np^n = -\left(a_{n-1}p^{n-1}q + \cdots + a_0q^n\right), and every term on the right now has a factor of q, so q divides a_np^n. Again q shares no factor with p^n, so q must divide a_n.
When f(x) is divided by x - c, the remainder is f(c).
Dividing by (x − c) leaves a remainder of exactly f(c).
Show proof
Write f(x) = (x-c)q(x) + r with r a constant (the division algorithm guarantees \deg r < \deg(x-c) = 1, so r has degree 0). Substitute x = c: f(c) = (c-c)q(c) + r = 0 + r = r. So the remainder r equals f(c).
x - c is a factor of f(x) if and only if f(c) = 0. Zeros of f and linear factors of f are the same information.
(x − c) is a factor exactly when f(c) = 0.
Show proof
By the Remainder Theorem, dividing f(x) by x - c leaves remainder f(c). If f(c) = 0, the remainder is 0, so f(x) = (x-c)q(x) exactly — x - c divides evenly, i.e. it's a factor. Conversely, if x - c is a factor, f(x) = (x-c)q(x) for some q(x), so f(c) = (c-c)q(c) = 0.
Let f(x) be a polynomial with real coefficients, written with terms in descending order of degree. Let v be the number of sign changes between consecutive nonzero coefficients; skip over any zero coefficients, since they don't count as a sign or a change.
- The number of positive real zeros of f (counted with multiplicity) is either v, or v less an even number (v - 2, v - 4, \dots), down to 0 or 1.
- The number of negative real zeros of f (counted with multiplicity) is either v', or v' less an even number, where v' is the number of sign changes in f(-x).
This is a classical 17th-century result; a full proof is beyond this course, but the rule is precise and worth using with confidence.
Counts the possible positive and negative real zeros before you test anything.
Let f(x) have real coefficients and positive leading coefficient, and synthetically divide f(x) by x - c.
- Upper bound. If c > 0 and every number in the bottom row (the quotient's coefficients and the remainder) is nonnegative, then no real zero of f is greater than c: c is an upper bound.
- Lower bound. If c < 0 and the numbers in the bottom row alternate in sign (zeros may count as either sign, whichever keeps the alternation going), then no real zero of f is less than c: c is a lower bound.
The positive-leading-coefficient requirement is a bookkeeping convenience, not a real restriction: if f's leading coefficient is negative, test -f(x) instead (same zeros, flipped sign) and the rows read the normal way.
Certifies when to stop testing candidates in either direction.
Let f be a polynomial and let a < b. If f(a) and f(b) have opposite signs, then f has at least one real zero c with a < c < b.
Traps an irrational zero between two integers via a sign change.
Show proof
The idea is intuitive — a graph that starts below the x-axis and ends above it, without ever jumping, has to cross somewhere — but making "without ever jumping" precise is a statement about the real numbers themselves. A rigorous proof needs the completeness property of \mathbb R (typically via the least-upper-bound axiom, showing the crossing point is the supremum of \{x \in [a,b] : f(x) < 0\}), which belongs to a real analysis course, not this one. It's taken on faith here — a polynomial is continuous (its graph really is one unbroken curve), and continuity is exactly the property the sign-change test relies on.
If f has real coefficients and a + bi (b \neq 0) is a zero, then its conjugate a - bi is also a zero. Hence nonreal zeros of real polynomials come in pairs, and every real polynomial of odd degree has at least one real zero.
Nonreal zeros of a real-coefficient polynomial come in pairs.
Show proof
Conjugation respects addition and multiplication: for z = a+bi and w = c+di, direct expansion gives \overline{z+w} = \overline{z} + \overline{w} and \overline{zw} = \overline{z}\,\overline{w} (each side works out to the same real and imaginary parts). Since any polynomial expression is built from nothing but additions and multiplications, it follows that \overline{f(z)} = a_n\overline{z}^{\,n} + \cdots + a_1\overline{z} + a_0 provided every coefficient a_k is real — because \overline{a_k} = a_k exactly when a_k is real, which is precisely where the hypothesis gets spent.
Now suppose f(a+bi) = 0 for a real-coefficient f. Taking the conjugate of both sides: \overline{f(a+bi)} = f(\overline{a+bi}) = f(a - bi), and \overline{0} = 0, so f(a-bi) = 0 as well — the conjugate is also a zero.
Every nonreal zero therefore drags its conjugate along as a second zero, so nonreal zeros come in pairs. By the Linear Factorization Theorem, a degree-n polynomial has exactly n zeros counted with multiplicity. If n is odd, the nonreal zeros can only ever be removed two at a time — leaving an odd number unaccounted for, and those leftover zeros can't be nonreal (they'd need an unpaired partner), so at least one must be real.
Let f have rational coefficients, and suppose a + \sqrt{b} is a zero of f, where a and b are rational and \sqrt{b} is irrational. Then the conjugate a - \sqrt{b} is also a zero of f, with the same multiplicity.
Irrational zeros of the form a+√b in a rational-coefficient polynomial come in pairs too.
Show proof
Let d(x) = \big(x - (a+\sqrt b)\big)\big(x - (a-\sqrt b)\big) = (x-a)^2 - b = x^2 - 2ax + (a^2-b) — a quadratic whose coefficients are rational, since a and b are.
Divide f by d using the Division Algorithm: f(x) = d(x)q(x) + r(x) with \deg r \leq 1. Because d has rational coefficients and long division only ever adds, subtracts, multiplies, and divides the coefficients it's given, q and r come out with rational coefficients too — this is exactly where the rational-coefficient hypothesis earns its keep. Write r(x) = mx + n with m, n rational.
Evaluate at x = a + \sqrt b. Since d(a+\sqrt b) = 0 by construction, 0 = f(a+\sqrt b) = d(a+\sqrt b)q(a+\sqrt b) + r(a+\sqrt b) = r(a+\sqrt b) = (ma+n) + m\sqrt b. Both ma+n and m are rational, and \sqrt b is irrational. If m \neq 0, this equation could be solved for \sqrt b = -\frac{ma+n}{m}, a ratio of rational numbers — making \sqrt b rational, a contradiction. So m = 0, and then n = 0 follows immediately. That means r(x) \equiv 0, so f(x) = d(x)q(x) exactly.
Since a - \sqrt b is the other root of d, it makes d(x)q(x) = f(x) vanish too — it is also a zero of f. Repeating the same division on q shows each additional factor of d that divides f pulls another matched pair out together, so the two conjugate zeros always carry equal multiplicity.
If c is a zero of f with multiplicity k, the graph of f meets the x-axis at x = c as follows:
- k odd: the graph crosses the axis (a sign change).
- k even: the graph touches the axis and turns back (no sign change).
For k \geq 3 the graph additionally flattens against the axis near x = c.
How many times a zero repeats decides cross vs. bounce on the graph.
Show proof
Multiplicity k means f(x) = (x-c)^k g(x) for some polynomial g with g(c) \neq 0. A polynomial can only change sign by passing through a zero, and g has none at c, so on a small enough interval around c the sign of g(x) stays fixed at the sign of g(c). That means near x = c, the sign of f(x) is controlled entirely by the sign of (x-c)^k.
k odd. (x - c) itself changes sign at c — negative just to the left, positive just to the right. Raising to an odd power preserves that sign change: (x-c)^k is negative on one side and positive on the other, so f is too. The graph crosses.
k even. Raising (x-c) to an even power erases the sign entirely — (x-c)^k \geq 0 on both sides of c, with equality only at c itself. So f keeps the same sign on both sides (matching the sign of g(c)), touches zero at c, and turns back rather than crossing.
The flattening for k \geq 3 is a matter of scale rather than sign: for |x - c| < 1, higher powers of a small number shrink faster, so (x-c)^k (and hence f) sits closer to 0 near c the larger k is — the curve hugs the axis longer before pulling away.
Every polynomial of degree n \geq 1 with complex (in particular, real) coefficients has at least one complex zero.
Every degree-n polynomial has exactly n zeros, counted with multiplicity.
Show proof
Every known proof leans on machinery outside this course — complex analysis (Liouville's theorem: a bounded entire function is constant, applied to 1/f), topology (a degree-n map wraps the plane around itself n times, so it must hit 0), or Galois theory. None of those tools are available yet, so the result is taken on faith here, the way it is in every first course that uses it. What this course can do with it: combined with the Factor Theorem, it guarantees a degree-n polynomial factors completely into n linear factors over the complex numbers — that consequence, the Linear Factorization Theorem, is used freely and does have its own proof in the registry.
Term