How to Solve Polynomial Equations
Copyright © 2002–2020 by Stan Brown
Copyright © 2002–2020 by Stan Brown
Summary: In algebra you spend lots of time solving polynomial equations or factoring polynomials (which is the same thing). It would be easy to get lost in all the techniques, but this paper ties them all together in a coherent whole.
Make sure you aren’t confused by the terminology. All of these are the same:
There’s a factor for every root, and vice versa. (x−r) is a factor if and only if r is a root. This is the Factor Theorem: finding the roots or finding the factors is essentially the same thing. (The main difference is how you treat a constant factor.)
Most often when we talk about solving an equation or factoring a polynomial, we mean an exact (or analytic) solution. The other type, approximate (or numeric) solution, is always possible and sometimes is the only possibility.
When you can find it, an exact solution is better. You can always find a numerical approximation to an exact solution, but going the other way is much more difficult. This page spends most of its time on methods for exact solutions, but also tells you what to do when analytic methods fail.
How do you find the factors or zeroes of a polynomial (or the roots of a polynomial equation)? Basically, you whittle. Every time you chip a factor or root off the polynomial, you’re left with a polynomial that is one degree simpler. Use that new reduced polynomial to find the remaining factors or roots.
At any stage in the procedure, if you get to a cubic or quartic equation (degree 3 or 4), you have a choice of continuing with factoring or using the cubic or quartic formulas. These formulas are a lot of work, so most people prefer to keep factoring.
Follow this procedure step by step:
This is an example of an algorithm, a set of steps that will lead to a desired result in a finite number of operations. It’s an iterative strategy, because the middle steps are repeated as long as necessary.
The methods given here—find a rational root and use synthetic division—are the easiest. But if you can’t find a rational root, there are special methods for cubic equations (degree 3) and quartic equations (degree 4), both at Mathworld. An alternative approach is provided by Dick Nickalls in PDF for cubic and quartic equations.
This is an easy step—easy to overlook, unfortunately. If you have a polynomial equation, put all terms on one side and 0 on the other. And whether it’s a factoring problem or an equation to solve, put your polynomial in standard form, from highest to lowest power.
For instance, you cannot solve this equation in this form:
x³ + 6x² + 12x = −8
You must change it to this form:
x³ + 6x² + 12x + 8 = 0
Also make sure you have simplified, by factoring out any common factors. This may include factoring out a −1 so that the highest power has a positive coefficient. Example: to factor
7 − 6x − 15x² − 2x³
begin by putting it in standard form:
−2x³ − 15x² − 6x + 7
and then factor out the −1
−(2x³ + 15x² + 6x − 7) or (−1)(2x³ + 15x² + 6x − 7)
If you’re solving an equation, you can throw away any common constant factor. But if you’re factoring a polynomial, you must keep the common factor.
Example: To solve 8x² + 16x + 8 = 0, you can divide left and right by the common factor 8. The equation x² + 2x + 1 = 0 has the same roots as the original equation.
Example: To factor 8x² + 16x + 8 , you recognize the common factor of 8 and rewrite the polynomial as 8(x² + 2x + 1), which is identical to the original polynomial. (While it’s true that you will focus your further factoring efforts on x² + 2x + 1, it would be an error to write that the original polynomial equals x² + 2x + 1.)
Your “common factor” may be a fraction, because you must factor out any fractions so that the polynomial has integer coefficients.
Example: To solve (1/3)x³ + (3/4)x² − (1/2)x + 5/6 = 0, you recognize the common factor of 1/12 and divide both sides by 1/12. This is exactly the same as recognizing and multiplying by the lowest common denominator of 12. Either way, you get 4x³ + 9x² − 6x + 10 = 0, which has the same roots as the original equation.
Example: To factor (1/3)x³ + (3/4)x² − (1/2)x + 5/6, you recognize the common factor of 1/12 (or the lowest common denominator of 12) and factor out 1/12. You get (1/12)(4x³ + 9x² − 6x + 10), which is identical to the original polynomial.
A polynomial of degree n will have n roots, some of which may be multiple roots.
How do you know this is true? The Fundamental Theorem of Algebra tells you that the polynomial has at least one root. The Factor Theorem tells you that if r is a root then (x−r) is a factor. But if you divide a polynomial of degree n by a factor (x−r), whose degree is 1, you get a polynomial of degree n−1. Repeatedly applying the Fundamental Theorem and Factor Theorem gives you n roots and n factors.
Descartes’ Rule of Signs can tell you how many positive and how many negative real zeroes the polynomial has. This is a big labor-saving device, especially when you’re deciding which possible rational roots to pursue.
To apply Descartes’ Rule of Signs, you need to understand the term variation in sign. When the polynomial is arranged in standard form, a variation in sign occurs when the sign of a coefficient is different from the sign of the preceding coefficient. (A zero coefficient is ignored.) For example,
p(x) = x5 − 2x3 + 2x2 − 3x + 12
has four variations in sign.
Descartes’ Rule of Signs:
Example: Consider p(x) above. Since it has four variations in sign, there must be either four positive roots, two positive roots, or no positive roots.
Now form p(−x), by replacing x with (−x) in the above:
p(−x) =(−x)5 − 2(−x)3 + 2(−x)2 − 3(−x) + 12
p(−x) = −x5 + 2x3 + 2x2 + 3x + 12
p(−x) has one variation in sign, and therefore the original p(x) has one negative root. Since you know that p(x) must have a negative root, but it may or may not have any positive roots, you would look first for negative roots.
p(x) is a fifth-degree polynomial, and therefore it must have five zeros. Since x is not a factor, you know that x=0 is not a zero of the polynomial. (For a polynomial with real coefficients, like this one, complex roots occur in pairs.) Therefore there are three possibilities:
|number of zeroes|
If a polynomial has real coefficients, then either all roots are real or there are an even number of non-real complex roots, in conjugate pairs.
For example, if 5+2i is a zero of a polynomial with real coefficients, then 5−2i must also be a zero of that polynomial. It is equally true that if (x−5−2i) is a factor then (x−5+2i) is also a factor.
Why is this true? Because when you have a factor with an imaginary part and multiply it by its complex conjugate you get a real result:
(x−5−2i)(x−5+2i) = x²−10x+25−4i² = x²−10x+29
If (x−5−2i) was a factor but (x−5+2i) was not, then the polynomial would end up with imaginaries in its coefficients, no matter what the other factors might be. If the polynomial has only real coefficients, then any complex roots must occur in conjugate pairs.
For similar reasons, if the polynomial has rational coefficients then the irrational roots involving square roots occur (if at all) in conjugate pairs. If (x−2+√3) is a factor of a polynomial with rational coefficients, then (x−2−√3) must also be a factor. To see why, remember how you rationalize a binomial denominator; or just check what happens when you multiply those two factors.
As Jeff Beckman pointed out (20 June 2006), this is emphatically not true for odd roots. For instance, x³−2 = 0 has three roots, 2^(1/3) and two complex roots.
It’s an interesting problem whether irrationals involving even roots of order ≥4 must also occur in conjugate pairs. I don’t have an immediate answer. I’m working on a proof, as I have time.
When a given factor (x−r) occurs m times in a polynomial, r is called a multiple root or a root of multiplicity m.
Examples: Compare these two polynomials and their graphs:
f(x) = (x−1)(x−4)2 = x3 − 9x2 + 24x − 16
g(x) = (x−1)3(x−4)2 = x5 − 11x4 + 43x3 − 73x2 + 56x − 16
These polynomials have the same zeroes, but the root 1 occurs with different multiplicities. Look at the graphs:
Both polynomials have zeroes at 1 and 4 only. f(x) has degree 3, which means three roots. You see from the factors that 1 is a root of multiplicity 1 and 4 is a root of multiplicity 2. Therefore the graph crosses the axis at x=1 (but is not horizontal there) and touches at x=4 without crossing.
By contrast, g(x) has degree 5. (g(x) = f(x) times (x−1)2.) Of the five roots, 1 occurs with multiplicity 3: the graph crosses the axis at x=1 and is horizontal there; 4 occurs with multiplicity 2, and the graph touches the axis at x=4 without crossing.
When you have quadratic factors (Ax²+Bx+C), it may or may not be possible to factor them further.
Sometimes you can just see the factors, as with x²−x−6 = (x+2)(x−3). Other times it’s not so obvious whether the quadratic can be factored. That’s when the quadratic formula (shown at right) is your friend.
For example, suppose you have a factor of 12x²−x−35. Can that be factored further? By trial and error you’d have to try a lot of combinations! Instead, use the fact that factors correspond to roots, and apply the formula to find the roots of 12x²−x−35 = 0, like this:
x = [ −(−1) ± √1 − 4(12)(−35) ] / 2(12)
x = [ 1 ± √1681 ] / 24
√1681 = 41, and therefore
x = [ 1 ± 41 ] / 24
x = 42/24 or −40/24
x = 7/4 or −5/3
If 7/4 and −5/3 are roots, then (x−7/4) and (x+5/3) are factors. Therefore
12x²−x−35 = (4x−7)(3x+5)
What about x²−5x+7? This one looks like it’s prime, but how can you be sure? Again, apply the formula:
x = [ −(−5) ± √25 − 4(1)(7) ] / 2(1)
x = [ 5 ± √−3 ] / 2
What you do with that depends on the original problem. If it was to factor over the reals, then x²−5x+7 is prime. But if that factor was part of an equation and you were supposed to find all complex roots, you have two of them:
x = 5/2 + (√3/2)i, x = 5/2 − (√3/2)i
Since the original equation had real coefficients, these complex roots occur in a conjugate pair.
This step is the heart of factoring a polynomial or solving a polynomial equation. There are a lot of techniques that can help you to find a factor.
Sometimes you can find factors by inspection (see the first two sections that follow). This provides a great shortcut, so check for easy factors before starting more strenuous methods.
Always start by looking for any monomial factors you can see. For instance, if your function is
f(x) = 4x6 + 12x5 + 12x4 + 4x3
you should immediately factor it as
f(x) = 4x3(x3 + 3x2 + 3x + 1)
Getting the 4 out of there simplifies the remaining numbers, the x3 gives you a root of x = 0 (with multiplicity 3), and now you have only a cubic polynomial (degree 3) instead of a sextic (degree 6). In fact, you should now recognize that cubic as a special product, the perfect cube (x+1)3.
When you factor out a common variable factor, be sure you remember it at the end when you’re listing the factor or roots. x³+3x²+3x+1 = 0 has certain roots, but x³(x³+3x²+3x+1) = 0 has those same roots and also a root at x=0 (with multiplicity 3).
Be alert for applications of the Special Products. If you can apply them, your task becomes much easier. The Special Products are
The expressions for the sum or difference of two cubes look as though they ought to factor further, but they don’t. A²±AB+B² is prime over the reals.
p(x) = 27x³ − 64
You should recognize this as
p(x) = (3x)³ − 4³
You know how to factor the difference of two cubes:
p(x) = (3x−4)(9x²+12x+16)
Bingo! As soon as you get down to a quadratic, you can apply the Quadratic Formula and you’re done.
Here’s another example:
q(x) = x6 + 16x3 + 64
This is just a perfect square trinomial, but in x3 instead of x. You factor it exactly the same way:
q(x) = (x3)2 + 2(8)(x3) + 82
q(x) = (x3 + 8)2
And you can easily factor (x3+8)2 as (x+2)2(x2−2x+4)2.
Assuming you’ve already factored out the easy monomial factors and special products, what do you do if you’ve still got a polynomial of degree 3 or higher?
The answer is the Rational Root Test. It can show you some candidate roots when you don’t see how to factor the polynomial, as follows.
Consider a polynomial in standard form, written from highest degree to lowest and with only integer coefficients:
f(x) = anxn + ... + ao
The Rational Root Theorem tells you that if the polynomial has a rational zero then it must be a fraction p/q, where p is a factor of the trailing constant ao and q is a factor of the leading coefficient an.
p(x) = 2x4 − 11x3 − 6x2 + 64x + 32
The factors of the leading coefficient (2) are 2 and 1. The factors of the constant term (32) are 1, 2, 4, 8, 16, and 32. Therefore the possible rational zeroes are ±1, 2, 4, 8, 16, or 32 divided by 2 or 1:
± any of 1/2, 1/1, 2/2, 2/1, 4/2, 4/1, 8/2, 8/1, 16/2, 16/1, 32/2, 32/1
reduced: ± any of ½, 1, 2, 4, 8, 16, 32
What do we mean by saying this is a list of all the possible rational roots? We mean that no other rational number, like ¼ or 32/7, can be a zero of this particular polynomial.
Caution: Don’t make the Rational Root Test out to be more than it is. It doesn’t say those rational numbers are roots, just that no other rational numbers can be roots. And it doesn’t tell you anything about whether some irrational or even complex roots exist. The Rational Root Test is only a starting point.
Suppose you have a polynomial with non-integer coefficients. Are you stuck? No, you can factor out the least common denominator (LCD) and get a polynomial with integer coefficients that way. Example:
(1/2)x³ − (3/2)x² + (2/3)x − 1/2
The LCD is 1/6. Factoring out 1/6 gives the polynomial
(1/6)(3x³ − 9x² + 4x − 3)
The two forms are equivalent, and therefore they have the same roots. But you can’t apply the Rational Root Test to the first form, only to the second. The test tells you that the only possible rational roots are ± any of 1/3, 1, 3.
Once you’ve identified the possible rational zeroes, how can you screen them? The brute-force method would be to take each possible value and substitute it for x in the polynomial: if the result is zero then that number is a root. But there’s a better way.
Use Synthetic Division to see if each candidate makes the polynomial equal zero. This is better for three reasons. First, it’s computationally easier, because you don’t have to compute higher powers of numbers. Second, at the same time it tells you whether a given number is a root, it produces the reduced polynomial that you’ll use to find the remaining roots. Finally, the results of synthetic division may give you an upper or lower bound even if the number you’re testing turns out not to be a root.
Sometimes Descartes’ Rule of Signs can help you screen the possible rational roots further. For example, the Rational Root Test tells you that if
q(x) = 2x4 + 13x3 + 20x2 + 28x + 8
has any rational roots, they must come from the list ± any of ½, 1, 2, 4, 8. But don’t just start off substituting or synthetic dividing. Since there are no sign changes, there are no positive roots. Are there any negative roots?
q(−x) = 2x4 − 13x3 + 20x2 − 28x + 8
has four sign changes. Therefore there could be as many as four negative roots. (There could also be two negative roots, or none.) There’s no guarantee that any of the roots are rational, but any root that is rational must come from the list −½, −1, −2, −4, −8.
(If you have a graphing calculator, you can pre-screen the rational roots by graphing the polynomial and seeing where it seems to cross the x axis. But you still need to verify the root algebraically, to see that f(x) is exactly 0 there, not just nearly 0.)
Remember, the Rational Root Test guarantees to find all rational roots. But it will completely miss real roots that are not rational, like the roots of x²−2=0, which are ±√2, or the roots of x²+4=0, which are ±2i.
Finally, remember that the Rational Root Test works only if all coefficients are integers. Look again at this function, which is graphed at right:
p(x) = 2x4 − 11x3 − 6x2 + 64x + 32
The Rational Root Theorem tells you that the only possible rational zeroes are ±½, 1, 2, 4, 8, 16, 32. But suppose you factor out the 2 (as I once did in class), writing the equivalent function
p(x) = 2(x4 − (11/2)x3 − 3x2 + 32x + 16)
This function is the same as the earlier one, but you can no longer apply the Rational Root Test because the coefficients are not integers. In fact −½ is a zero of p(x), but it did not show up when I (illegally) applied the Rational Root Test to the second form. My mistake was forgetting that the Rational Root Theorem applies only when all coefficients of the polynomial are integers.
By graphing the function—either by hand or with a graphing calculator—you can get a sense of where the roots are, approximately, and how many real roots exist.
Example: If the Rational Root Test tells you that ±2 are possible rational roots, you can look at the graph to see if it crosses (or touches) the x axis at 2 or −2. If so, use synthetic division to verify that the suspected root actually is a root. Yes, you always need to check—from the graph you can never be sure whether the intercept is at your possible rational root or just near it.
Some techniques don’t tell you the specific value of a root, but rather that a root exists between two values or that all roots are less than a certain number of greater than a certain number. This helps narrow down your search.
This theorem tells you that if the graph of a polynomial is above the x axis for one value of x and below the x axis for another value of x, it must cross the x axis somewhere between. (If you can graph the function, the crossings will usually be obvious.)
p(x) = 3x³ + 4x² − 20x −32
The rational roots (if any) must come from the list ± any of 1/3, 2/3, 1, 4/3, 2, 8/3, 4, 16/3, 8, 32/3, 16, 32. Naturally you’ll look at the integers first, because the arithmetic is easier. Trying synthetic division, you find p(1) = −45, p(2) = −22, and p(4) = 144. Since p(2) and p(4) have opposite signs, you know that the graph crosses the axis between x=2 and x=4, so there is at least one root between those numbers. In other words, either 8/3 is a root, or the root(s) between 2 and 4 are irrational. (In fact, synthetic division reveals that 8/3 is a root.)
The Intermediate Value Theorem can tell you where there is a root, but it can’t tell you where there is no root. For example, consider
q(x) = 4x² − 16x + 15
q(1) and q(3) are both positive, but that doesn’t tell you whether the graph might touch or cross the axis between. (It actually crosses the axis twice, at x = 3/2 and x = 5/2.)
One side effect of synthetic division is that even if the number you’re testing turns out as not a root, it may tell you that all the roots are smaller or larger than that number:
What if the bottom row contains zeroes? A more complete statement is that alternating nonnegative and nonpositive signs, after synthetic division by a negative number, show a lower bound on the root. The next two examples clarify that.
(By the way, the rule for lower bounds follows from the rule for upper bounds. Lower limits on roots of p(x) equal upper limits on roots of p(−x), and dividing by (−x+r) is the same as dividing by −(x−r).)
q(x) = x3 + 2x2 − 3x − 4
Using the Rational Root Test, you identify the only possible rational roots as ±4, ±2, and ±1. You decide to try −2 as a possible root, and you test it with synthetic division:
-2 | 1 2 -3 -4 | -2 0 6 |------------------ 1 0 -3 2
−2 is not a root of the equation f(x)=0. The third row shows alternating signs, and you were dividing by a negative number; however, that zero mucks things up. Recall that you have a lower bound only if the signs in the bottom row alternate nonpositive and nonnegative. The 1 is positive (nonnegative), and the 0 can count as nonpositive, but the −3 doesn’t qualify as nonnegative. The alternation is broken, and you do not know whether there are roots smaller than −2. (In fact, graphical or numerical methods would show a root around −2.5.) Therefore you need to try the lower possible rational root, −4:
-4 | 1 2 -3 -4 | -4 8 -20 |------------------ 1 -2 5 -24
Here the signs do alternate; therefore you know there are no roots below −4. (The remainder −24 shows you that −4 itself isn’t a root.)
Here’s another example:
r(x) = x³ + 3x² − 3
The Rational Root Test tells you that the possible rational roots are ±1 and ±3. With synthetic division for −3:
-3 | 1 3 0 -3 | -3 0 0 |------------------ 1 0 0 -3
−3 is not a root, but the signs do alternate here, since the first 0 counts as nonpositive and the second as nonnegative. Therefore −3 is a lower bound to the roots, meaning that the equation has no real roots lower than −3.
There is an interesting relationship between the coefficients of a polynomial and its zeroes. I mention it last because it is more suited to forming a polynomial that has zeroes with desired properties, rather than finding zeroes of an existing polynomial. However, if you know all the roots of a polynomial but one or two, you can easily use this technique to find the remaining root.
Consider the polynomial
f(x) = anxn + an−1xn−1 + an−2xn−2 + ... + a2x2 + a1x + ao
The following relationships exist:
Example: f(x) = x3 − 6x2 − 7x − 8 has degree 3, and therefore at most three real zeroes. If we write the real zeroes as r1, r2, r3, then the sum of the roots is r1+r2+r3 = −(−6) = 6; the sum of the products of roots taken two at a time is r1r2+r1r3+r2r3 = −7, and the product of the roots is r1r2r3 = (−1)3(−8) = 8.
Example: Given that the polynomial
g(x) = x5 − 11x4 + 43x3 − 73x2 + 56x − 16
has a triple root at x=1, find the other two roots.
Solution: Let the other two roots be c and d. Then you know that the sum of the all roots is 1+1+1+c+d = −(−11) = 11, or c+d = 8. You also know that the product of all the roots is 1×1×1×cd = (−1)5(−16) = 16, or cd = 16. c+d = 8, cd = 16; therefore c = d = 4, so the remaining roots are a double root at x=4.
There are several further theorems about the relationship between coefficients and roots. Wikipedia’s article Properties of Polynomial Roots gives a good though somewhat terse summary.
Remember that r is a root if and only if x−r is a factor; this is the Factor Theorem. So if you want to check whether r is a root, you can divide the polynomial by x−r and see whether it comes out even (remainder of 0). Elizabeth Stapel has a nice example of dividing polynomials by long division.
But it’s easier and faster to do synthetic division. If your synthetic division is a little rusty, you might want to look at Dr. Math’s short Synthetic Division tutorial; if you need a longer tutorial, Elizabeth Stapel’s Synthetic Division is excellent. (Dr. Math also has a page on why Synthetic Division works.)
Synthetic division also has some side benefits. If your suspected root actually is a root, synthetic division gives you the reduced polynomial. And sometimes you also luck out and synthetic division shows you an upper or lower bound on the roots.
You can use synthetic division when you’re dividing by a binomial of the form x−r for a constant r. If you’re dividing by x−3, you’re testing whether 3 is a root and you synthetic divide by 3 (not −3). If you’re dividing by x+11, you’re testing whether −11 is a root and you synthetic divide by −11 (not 11).
p(x) = 4x4 − 35x2 − 9
You suspect that x−3 might be a factor, and you test it by synthetic division, like this:
3 | 4 0 -35 0 -9 | 12 36 3 9 |-------------------- 4 12 1 3 0
Since the remainder is 0, you know that 3 is a root of p(x) = 0, and x−3 is a factor of p(x). But you know more. Since 3 is positive and the bottom row of the synthetic division is all positive or zero, you know that all the roots of p(x) = 0 must be ≤ 3. And you also know that
p(x) = (x−3)(4x3 + 12x2 + x + 3)
4x3 + 12x2 + x + 3 is the reduced polynomial. All of its factors are also factors of the original p(x), but its degree is one lower, so it’s easier to work with.
When your equation has no more rational roots (or your polynomial has no more rational factors), you can turn to numerical methods to find the approximate value of irrational roots:
Solve for all complex roots:
4x³ + 15x − 36 = 0
Step 1. The equation is already in standard form, with only zero on one side, and powers of x from highest to lowest. There are no common factors.
Step 2. Since the equation has degree 3, there will be 3 roots. There is one variation in sign, and from Descartes’ Rule of Signs you know there must be one positive root. Examine the polynomial with −x replacing x:
−4x³ − 15x − 36
There are no variations in sign, which means there are no negative roots. The other two roots must therefore be complex, and conjugates of each other.
Steps 3 and 4. The possible rational roots are unfortunately rather numerous: any of 1, 2, 3, 4, 6, 9, 12, 18, 36 divided by any of 4, 2, 1. (Only positive roots are listed because you have already determined that there are no negative roots for this equation.) You decide to try 1 first:
1 | 4 0 15 -36 | 4 4 19 |----------------- 4 4 19 -17
1 is not a root, so you test 2:
2 | 4 0 15 -36 | 8 16 62 |----------------- 4 8 31 26
Alas, 2 is not a root either. But notice that f(1) = −17 and f(2) = 26. They have opposite signs, which means that the graph crosses the x axis between x=1 and x=2, and a root is between 1 and 2. (In this case it’s the only root, since you have determined that there is one positive root and there are no negative roots.)
The only possible rational root between 1 and 2 is 3/2, and therefore either 3/2 is a root or the root is irrational. You try 3/2 by synthetic division:
3/2 | 4 0 15 -36 | 6 9 36 |----------------- 4 6 24 0
Hooray! 3/2 is a root. The reduced polynomial is 4x² + 6x + 24. In other words,
(4x³ + 15x − 36) ÷ (x−3/2) = 4x² + 6x + 24
The reduced polynomial has degree 2, so there is no need for more trial and error, and you continue to step 5.
Step 5. Now you must solve
4x² + 6x + 24 = 0
First divide out the common factor of 2:
2x² + 3x + 12 = 0
It’s no use trying to factor that quadratic, because you determined using Descartes’ Rule of Signs that there are no more real roots. So you use the quadratic formula:
x = [ −3 ± √9 − 4(2)(12) ] / 2(2)
x = [ −3 ± √−87 ] / 4
x = −3/4 ± (√87/4)i
Step 6. Remember that you found a root in an earlier step! The full list of roots is
3/2, −3/4 + (√87/4)i, −3/4 − (√87/4)i
Updates and new info: https://BrownMath.com/alge/