Definitions

# Ruffini's rule

In mathematics, Ruffini's rule allows the rapid division of any polynomial by a binomial of the form x − r. It was described by Paolo Ruffini in 1809. Ruffini's rule is a special case of long division when the divisor is a linear factor. Ruffini's rule is also known as synthetic division. The Horner scheme is a fast algorithm for dividing a polynomial by a linear polynomial with Ruffini's rule. See also polynomial long division for related background.

## Algorithm

The rule establishes a method for dividing the polynomial

$P\left(x\right)=a_nx^n+a_\left\{n-1\right\}x^\left\{n-1\right\}+cdots+a_1x+a_0$
by the binomial
$Q\left(x\right)=x-r,!$
to obtain the quotient polynomial
$R\left(x\right)=b_\left\{n-1\right\}x^\left\{n-1\right\}+b_\left\{n-2\right\}x^\left\{n-2\right\}+cdots+b_1x+b_0$
and a remainder s.

The algorithm is in fact the long division of P(x) by Q(x).

To divide P(x) by Q(x):

1. Take the coefficients of P(x) and write them down in order. Then write r at the bottom left edge, just over the line:

|        an        an-1        ...        a1         a0
|
r |
----|---------------------------------------------------------
|
|
2. Pass the leftmost coefficient (an) to the bottom, just under the line:
|        an        an-1        ...        a1         a0
|
r |
----|---------------------------------------------------------
|        an
|
|      = bn-1
|
3. Multiply the rightmost number under the line by r and write it over the line and one position to the right:
|        an        an-1        ...        a1         a0
|
r |                  bn-1r
----|---------------------------------------------------------
|        an
|
|      = bn-1
|
4. Add the two values you've just put in the same column
|        an        an-1        ...        a1         a0
|
r |                  bn-1r
----|---------------------------------------------------------
|        an     an-1+(bn-1r)
|
|      = bn-1     = bn-2
|
5. Repeat steps 3 and 4 until you've run out of numbers
|        an        an-1        ...        a1         a0
|
r |                  bn-1r       ...        b1r        b0r
----|---------------------------------------------------------
|        an     an-1+(bn-1r)   ...       a1+b1r       a0+b0r
|
|      = bn-1     = bn-2       ...       = b0        = s
|

The b values are the coefficients of the result (R(x)) polynomial, the degree of which is one less than that of P(x). The final value obtained, s, is the remainder. As shown in the polynomial remainder theorem, this remainder is equal to P(r), the value of the polynomial at r.

There is a numerical example below.

## Uses of the rule

Ruffini's rule has many practical applications; most of them rely on simple division (as demonstrated below) or the common extensions given still further below.

### Polynomial division by x − r

A worked example of polynomial division, as described above.

Let:

$P\left(x\right)=2x^3+3x^2-4,!$
$Q\left(x\right)=x+1,!$

We want to divide P(x) by Q(x) using Ruffini's rule. The main problem is that Q(x) does not appear to be a binomial of the form x − r, but rather x + r. We must rewrite Q(x) in this way:

$Q\left(x\right)=x+1=x-\left(-1\right),!$
Now we apply the algorithm:

1. Write down the coefficients and r. Note that, as P(x) didn't contain a coefficient for x, we've written 0:

|     2     3     0     -4
|
-1 |
----|----------------------------
|
|

2. Pass the first coefficient down:

|     2     3     0     -4
|
-1 |
----|----------------------------
|     2
|

3. Multiply the last obtained value by r:

|     2     3     0     -4
|
-1 |          -2
----|----------------------------
|     2
|

4. Add the values:

|     2     3     0     -4
|
-1 |          -2
----|----------------------------
|     2     1
|

5. Repeat steps 3 and 4 until we've finished:

|     2     3     0     -4
|
-1 |          -2    -1      1
----|----------------------------
|     2     1    -1     -3
|{result coefficients}{remainder}

So, if original number = divisor×quotient+remainder, then

$P\left(x\right)=Q\left(x\right)R\left(x\right)+s,!$, where

$R\left(x\right) = 2x^2+x-1,!$ and $s=-3.,!$

### Polynomial root-finding

The rational root theorem tells us that for a polynomial f(x) = anxn + an−1xn−1 + ... + a1x + a0 all of whose coefficients (an through a0) are integers, the real rational roots are always of the form p/q, where p is an integer divisor of a0 and q is an integer divisor of an. Thus if our polynomial is

$P\left(x\right)=x^3+2x^2-x-2=0,!,$

then the possible rational roots are all the integer divisors of a0 (−2):

$mbox\left\{Possible roots:\right\}left\left\{+1, -1, +2, -2right\right\}$

(This example is simple because the polynomial is monic (i.e. an = 1); for non-monic polynomials the set of possible roots will include some fractions, but only a finite number of them since an and a0 only have a finite number of integer divisors each.) In any case, for monic polynomials, every rational root is an integer, and so every integer root is just a divisor of the constant term. It can be shown that this remains true for non-monic polynomials, i.e. to find the integer roots of any polynomials with integer coefficients, it suffices to check the divisors of the constant term.

So, setting r equal to each of these possible roots in turn, we will test-divide the polynomial by (x − r). If the resulting quotient has no remainder, we have found a root.

You can choose one of the following three methods: they will all yield the same results, with the exception that only through the second method and the third method (when applying Ruffini's rule to obtain a factorization) can you discover that a given root is repeated. (Remember that neither method will discover irrational or complex roots.)

#### Method 1

We try to divide P(x) by the binomial (x − each possible root). If the remainder is 0, the selected number is a root (and vice versa):

|    +1    +2    -1     -2                      |    +1    +2    -1    -2
|                                               |
+1 |          +1    +3     +2                   -1 |          -1    -1    +2
----|----------------------------               ----|---------------------------
|    +1    +3    +2      0                      |    +1    +1    -2     0

|    +1    +2    -1     -2                      |    +1    +2    -1    -2
|                                               |
+2 |          +2    +8    +14                   -2 |          -2     0    +2
----|----------------------------               ----|---------------------------
|    +1    +4    +7    +12                      |    +1     0    -1     0

$x_1=+1,!$
$x_2=-1,!$
$x_3=-2,!$

#### Method 2

We start just as in Method 1 until we find a valid root. Then, instead of restarting the process with the other possible roots, we continue testing the possible roots against the result of the Ruffini on the valid root we've just found until we only have a coefficient remaining (remember that roots can be repeated: if you get stuck, try each valid root twice):

|    +1    +2    -1    -2                      |    +1    +2    -1    -2
|                                              |
-1 |          -1    -1    +2                   -1 |          -1    -1    +2
----|---------------------------               ----|---------------------------
|    +1    +1    -2   | 0                      |    +1    +1    -2   | 0
|                                              |
+2 |          +2    +6                         +1 |          +1    +2
-------------------------                      -------------------------
|    +1    +3   |+4                            |    +1    +2   | 0
|
-2 |          -2
-------------------
|    +1   | 0

$x_1=+1,!$
$x_2=-1,!$
$x_3=+2,!$

#### Method 3

• Determine the set of the possible integer or rational roots of the polynomial according to the rational root theorem.
• For each possible root r, instead of performing the division P(x)/(x -r), apply the polynomial remainder theorem, which states that the remainder of this division is P(r), i.e. the polynomial evaluated for x = r.

Thus, for each r in our set, r is actually a root of the polynomial if and only if P(r) = 0

This shows that finding integer and rational roots of a polynomial neither requires any division nor the application of Ruffini's rule.

However, once a valid root has been found, call it r1: you can apply Ruffini's rule to determine
Q(x) = P(x)/(x-r1).
This allows you to partially factorize the polynomial as
P(x) = (x -r1)·Q(X)

Any additional (rational) root of the polynomial is also a root of Q(x) and, of course, is still to be found among the possible roots determined earlier which have not yet been checked (any value already determined not to be a root of P(x) is not a root of Q(x) either; more formally, P(r)≠0 → Q(r)≠0 ).

Thus, you can proceed evaluating Q(r) instead of P(r), and (as long as you can find another root, r2) dividing Q(r) by (x-r2).

Even if you're only searching for roots, this allows you to evaluate polynomials of successively smaller degree, as the factorization proceeds.

If, as is often the case, you're also factorizing a polynomial of degree n, then:

• if you've found p=n rational solutions you end up with a complete factorization (see below) into p=n linear factors;
• if you've found p

Remember to check out the limitations of the whole procedure.

Examples:

##### Finding roots without applying Ruffini's Rule

P(x) = x³ +2x² -x -2

Possible roots = {1, -1, 2, -2}

• P(1) = 0 → x1 = 1
• P(-1) = 0 → x2 = -1
• P(2) = 12 → 2 is not a root of the polynomial

and the remainder of (x³ +2x² -x -2)/(x-2) is 12

• P(-2) = 0 → x3 = -2

##### Finding roots applying Ruffini's Rule and obtaining a (complete) factorization

P(x) = x³ +2x² -x -2

Possible roots = {1, -1, 2, -2}

• P(1) = 0 → x1 = 1

Then, applying Ruffini's Rule:

(x³ +2x² -x -2) / (x -1) = (x² +3x +2) →
→ x³ +2x² -x -2 = (x-1)(x² +3x +2)

Here, r1=-1 and Q(x) = x² +3x +2

• Q(-1) = 0 → x2 = -1

Again, applying Ruffini's Rule:

(x² +3x +2) / (x +1) = (x +2) →
→ x³ +2x² -x -2 = (x-1)(x² +3x +2) = (x-1)(x+1)(x+2)

As it was possible to completely factorize the polynomial, it's clear that the last root is -2 (the previous procedure would have given the same result, with a final quotient of 1).

### Polynomial factoring

Having used the "p/q" result above (or, to be fair, any other means) to find all the real rational roots of a particular polynomial, it is but a trivial step further to partially factor that polynomial using those roots. As is well-known, each linear factor (x − r) which divides a given polynomial corresponds with a root r, and vice versa.

So if

$P\left(x\right)=a_nx^n+a_\left\{n-1\right\}x^\left\{n-1\right\}+cdots+a_1x+a_0,!$ is our polynomial; and
$R=left\left\{mbox\left\{roots of \right\}P\left(x\right)inmathbb\left\{Q\right\}right\right\},!$ are the roots we have found, then consider the product
$R\left(x\right)=a_n\left\{prod \left(x-r\right)\right\} mbox\left\{ for all \right\} rin R ,!$.

By the fundamental theorem of algebra, R(x) should be equal to P(x), if all the roots of P(x) are rational. But since we have been using a method which finds only rational roots, it is very likely that R(x) is not equal to P(x); it is very likely that P(x) has some irrational or complex roots not in R. So consider

$S\left(x\right)=frac\left\{P\left(x\right)\right\}\left\{R\left(x\right)\right\},!$, which can be calculated using polynomial long division.

If S(x) = 1, then we know R(x) = P(x) and we are done. Otherwise, S(x) will itself be a polynomial; this is another factor of P(x) which has no real rational roots. So write out the right-hand-side of the following equation in full:

$P\left(x\right)=R\left(x\right) cdot S\left(x\right),!$

We can call this a complete factorization of P(x) over Q (the rationals) if S(x) = 1. Otherwise, we only have a partial factorization of P(x) over Q, which may or may not be further factorable over the rationals; but which will certainly be further factorable over the reals or at worst the complex plane. (Note: by a "complete factorization" of P(x) over Q, we mean a factorization as a product of polynomials with rational coefficients, such that each factor is irreducible over Q, where "irreducible over Q" means that the factor cannot be written as the product of two non-constant polynomials with rational coefficients and smaller degree.)

#### Example 1: no remainder

Let

$P\left(x\right)=x^3+2x^2-x-2,!$

Using the methods described above, the rational roots of P(x) are:

$R=left\left\{+1, -1, -2right\right\},!$

Then, the product of (x − each root) is

$R\left(x\right)=1\left(x-1\right)\left(x+1\right)\left(x+2\right).,!$

And P(x)/R(x):

$S\left(x\right)=1.,!$

Hence the factored polynomial is P(x) = R(x) · 1 = R(x):

$P\left(x\right)=\left(x-1\right)\left(x+1\right)\left(x+2\right),!$

#### Example 2: with remainder

Let

$P\left(x\right)=2x^4-3x^3+x^2-2x-8,!$

Using the methods described above, the rational roots of P(x) are:

$R=left\left\{-1, +2right\right\},!$

Then, the product of (x − each root) is

$R\left(x\right)=\left(x+1\right)\left(x-2\right),!$

And P(x)/R(x)

$S\left(x\right)=2x^2-x+4,!$

As $S\left(x\right)\left\{ne\right\}1$, the factored polynomial is P(x) = R(x) · S(x):

$P\left(x\right)=\left(x+1\right)\left(x-2\right)\left(2x^2-x+4\right),!$

#### Factoring over the complexes

To completely factor a given polynomial over C, the complex numbers, we must know all of its roots (and that could include irrational and/or complex numbers). For example, consider the polynomial above:

$P\left(x\right)=2x^4-3x^3+x^2-2x-8,!$.

Extracting its rational roots and factoring it, we end with:

$P\left(x\right)=\left(x+1\right)\left(x-2\right)\left(2x^2-x+4\right),!$.

But that is not completely factored over C. If we need to factor our polynomial to a product of linear factors, we must deal with that quadratic factor

$\left\{2x^2-x+4\right\}=0.,!$

The easiest way is to use quadratic formula, which gives us

$x=frac\left\{-bpmsqrt\left\{b^2-4ac\right\}\right\}\left\{2a\right\}=frac\left\{1pmsqrt\left\{\left(-1\right)^2-4cdot 2cdot 4\right\}\right\}\left\{2cdot 2\right\}=frac\left\{1pmsqrt\left\{-31\right\}\right\}\left\{4\right\},!$

and the solutions

$x_1=frac\left\{1+sqrt\left\{-31\right\}\right\}\left\{4\right\},!$
$x_2=frac\left\{1-sqrt\left\{-31\right\}\right\}\left\{4\right\},!$.

So the completely-factored polynomial over C will be:

$P\left(x\right)=2\left(x+1\right)\left(x-2\right)\left(x-frac\left\{1+isqrt\left\{31\right\}\right\}\left\{4\right\}\right)\left(x-frac\left\{1-isqrt\left\{31\right\}\right\}\left\{4\right\}\right),!$.

However, it should be noted that we cannot in every case expect things to be so easy; the quadratic formula's analogue for fourth-order polynomials is very messy and no such analogue exists for 5th-or-higher order polynomials. See Galois theory for a theoretical explanation of why this is so, and see numerical analysis for ways to approximate roots of polynomials numerically.

#### Limitations

It is entirely possible that, in looking for a given polynomial's roots, we might obtain a messy higher-order polynomial for S(x) which is further factorable over the rationals even before considering irrational or complex factorings. Consider the polynomial x5 − 3x4 + 3x3 − 9x2 + 2x − 6. Using Ruffini's method we will find only one root (x = −3); factoring it out gives us P(x) = (x4 + 3x2 + 2)(x − 3).

As explained above, if our assignment was to "factor into irreducibles over C" we know that would have to find some way to dissect the quartic and look for its irrational and/or complex roots. But if we were asked to "factor into irreducibles over Q", we might think we are done; but it is important to realize that this might not necessarily be the case.

For in this instance the quartic is actually factorable as the product of two quadratics (x2 + 1)(x2 + 2). These, at last, are irreducible over the rationals (and, indeed, the reals as well in this example); so now we are done; P(x) = (x2 + 1)(x2 + 2)(x − 3). In this instance it is in fact easy to factor our quartic by treating it as a biquadratic equation; but finding such factorings of a higher degree polynomial can be very difficult.

## External links

• Synthetic Division, an article by Elizabeth Stapel on Purple Math
• Synthetic Division Tutorial An article explaining Synthetic Division
{"extraction_info": {"found_math": true, "script_math_tex": 0, "script_math_asciimath": 0, "math_annotations": 0, "math_alttext": 0, "mathml": 40, "mathjax_tag": 0, "mathjax_inline_tex": 0, "mathjax_display_tex": 0, "mathjax_asciimath": 0, "img_math": 0, "codecogs_latex": 0, "wp_latex": 0, "mimetex.cgi": 0, "/images/math/codecogs": 0, "mathtex.cgi": 0}, "config": {"markdown_headings": true, "markdown_code": false, "boilerplate_config": {"ratio_threshold": 0.18, "absolute_threshold": 10, "end_threshold": 15, "enable": true}, "remove_buttons": true, "remove_image_figures": true, "remove_link_clusters": true, "table_config": {"min_rows": 2, "min_cols": 3, "format": "github"}, "remove_chinese": true, "remove_edit_buttons": true, "extract_latex": true}, "english_confidence": 0.9104623794555664, "perplexity_flag": "middle"}