The rule establishes a method for dividing the polynomial
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:
 a_{n} a_{n1} ... a_{1} a_{0}

r 


2. Pass the leftmost coefficient (a_{n}) to the bottom, just under the line:
 a_{n} a_{n1} ... a_{1} a_{0}

r 

 a_{n}

 = b_{n1}
3. Multiply the rightmost number under the line by r and write it over the line and one position to the right:
 a_{n} a_{n1} ... a_{1} a_{0}

r  b_{n1}r

 a_{n}

 = b_{n1}
4. Add the two values you've just put in the same column
 a_{n} a_{n1} ... a_{1} a_{0}

r  b_{n1}r

 a_{n} a_{n1}+(b_{n1}r)

 = b_{n1} = b_{n2}
5. Repeat steps 3 and 4 until you've run out of numbers
 a_{n} a_{n1} ... a_{1} a_{0}

r  b_{n1}r ... b_{1}r b_{0}r

 a_{n} a_{n1}+(b_{n1}r) ... a_{1}+b_{1}r a_{0}+b_{0}r

 = b_{n1} = b_{n2} ... = b_{0} = 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.
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.
A worked example of polynomial division, as described above.
Let:
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:
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
The rational root theorem tells us that for a polynomial f(x) = a_{n}x^{n} + a_{n−1}x^{n−1} + ... + a_{1}x + a_{0} all of whose coefficients (a_{n} through a_{0}) are integers, the real rational roots are always of the form p/q, where p is an integer divisor of a_{0} and q is an integer divisor of a_{n}. Thus if our polynomial is
then the possible rational roots are all the integer divisors of a_{0} (−2):
(This example is simple because the polynomial is monic (i.e. a_{n} = 1); for nonmonic polynomials the set of possible roots will include some fractions, but only a finite number of them since a_{n} and a_{0} 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 nonmonic 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 testdivide 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.)
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
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
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 r_{1}:
you can apply Ruffini's rule to determine
Q(x) = P(x)/(xr_{1}).
This allows you to partially factorize the polynomial as
P(x) = (x r_{1})·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, r_{2}) dividing Q(r) by (xr_{2}).
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:
Remember to check out the limitations of the whole procedure.
Examples:
P(x) = x³ +2x² x 2
Possible roots = {1, 1, 2, 2}
and the remainder of (x³ +2x² x 2)/(x2) is 12
P(x) = x³ +2x² x 2
Possible roots = {1, 1, 2, 2}
Then, applying Ruffini's Rule:
(x³ +2x² x 2) / (x 1) = (x² +3x +2) →
→ x³ +2x² x 2 = (x1)(x² +3x +2)
Here, r_{1}=1 and Q(x) = x² +3x +2
Again, applying Ruffini's Rule:
(x² +3x +2) / (x +1) = (x +2) →
→ x³ +2x² x 2 = (x1)(x² +3x +2) = (x1)(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).
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 wellknown, each linear factor (x − r) which divides a given polynomial corresponds with a root r, and vice versa.
So if
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
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 righthandside of the following equation in full:
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 nonconstant polynomials with rational coefficients and smaller degree.)
Let
Using the methods described above, the rational roots of P(x) are:
Then, the product of (x − each root) is
And P(x)/R(x):
Hence the factored polynomial is P(x) = R(x) · 1 = R(x):
Let
Using the methods described above, the rational roots of P(x) are:
Then, the product of (x − each root) is
And P(x)/R(x)
As $S(x)\{ne\}1$, the factored polynomial is P(x) = R(x) · S(x):
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:
Extracting its rational roots and factoring it, we end with:
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
The easiest way is to use quadratic formula, which gives us
and the solutions
So the completelyfactored polynomial over C will be:
However, it should be noted that we cannot in every case expect things to be so easy; the quadratic formula's analogue for fourthorder polynomials is very messy and no such analogue exists for 5thorhigher 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.
It is entirely possible that, in looking for a given polynomial's roots, we might obtain a messy higherorder polynomial for S(x) which is further factorable over the rationals even before considering irrational or complex factorings. Consider the polynomial x^{5} − 3x^{4} + 3x^{3} − 9x^{2} + 2x − 6. Using Ruffini's method we will find only one root (x = −3); factoring it out gives us P(x) = (x^{4} + 3x^{2} + 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 (x^{2} + 1)(x^{2} + 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) = (x^{2} + 1)(x^{2} + 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.