The solutions to F(X) = X^3 - 3*B*X^2 + C*X + D = 0 are

B - K * cubert(F(B)/2 + R) - K^2 * cubert(F(B)/2 - R)

where R = sqrt((F(B)/2)^2 + (F'(B)/3)^3)
and K is one of the three cube roots of 1:
1, (-1+sqrt(-3))/2, (-1-sqrt(-3))/2.

The above formula was stolen from HAKMEM.

A cubic equation is one of the following form:

ax3 + bx2 + cx + d = 0

Where a != 0. To work out the three values of x, one must first know one root, or solution (either through knowing it or working it out), and then the others can be found through long division, or in this case, polynomial division.

Using a given root

If one of the roots of the equations is given to you in the question, or you have otherwise come across it, then you can use polynomial division to gain a quadratic equation, which then can be easily solved. Example:

A root of f(x) = x3 - 7x + 6 is 3. Find the other two roots.

f(x) = x3 - 7x + 6
= (x2 + 3x + 2) (x - 3) (using polynomial division)
= (x + 2) (x + 1) (x - 3)
Roots are -2, -1, and 3

Using the factor theorem

If you don't know a root, it may be possible to work it out. The factor theorem states that if f(a) = 0, then (x - a) is a factor. Example:

Find the roots of f(x) = x3 + 2x2 - 5x - 6

f(x) = x3 + 2x2 - 5x - 6
f(1) = 13 + 22 - 5 - 6
= 1 + 4 - 5 - 6 = -6
Therefore (x - 1) is not a root.

f(2) = 23 + 42 - 10 - 6
= 8 + 16 - 10 - 6 = 0
Therefore (x - 2) is a root.

Now that we have found one of the roots, we can solve it like the first example:

f(x) = x3 + 2x2 - 5x - 6
= (x2 + 4x + 3) (x - 2) (using polynomial division)
= (x + 1) (x + 3) (x - 2)
Roots are -1, -3, and 2

Luckily there is some help, so you are not completely stuck: If one of the roots is a complex number, then another root is its complex conjugate, as complex roots are always in pairs.

There is also the Rational Root Theorem, which is used to determine possible roots when the coefficients are integers, so you are not completely in the dark about what to guess.

Using substitution

One of the problems with the factor theorem method is that it involves trial and error - the roots may be 196, 2.7, 8/9, or another number that you won't be trying for a while.

Many of the methods used in creating the quadratic formula do not work here - you cannot complete the cube, for instance. Instead, it is possible to reduce a cubic equation to a depressed cubic - essentually, a cubic without its quadratic part, in the form. This method is called Cardano's Formula, after Girolamo Cardano. Let us begin with the cubic equation:

x3 + bx2 + cx + d = 0

The first coefficient must be x3, or, a = 1. If this is not the case, let b = b/a, c = c/a, and so on, so the first coefficient can be x3 (as opposed to 4x3 or similar.

Now, use the substitution x = y - b/3.

(y - b/3)3 + b(y - b/3)2 + c(y - b/3) + d = 0
This eventually cancels down to
y3 + y(c = b2 / 3) + (c - ab/3 + 2a3/27) = 0

Then, substitute p = b - a2/3 and q = c - ab/3 + 2a3/27, to obtain a cubic equation without the quadratic part:

y3 + py + q = 0

Use f - g = y to obtain:

(f - g)3 + p(f - g) + q = 0
q = (g3 - f3) + (f - g)(p - 3fg) = 0

If we let p = 3fg and q = g3 - f3, then we get the (much more simple) equation:

f - g = 0

Because of the factor theorem again, this means that y = f - g is a root of the equation. All that is left to do is find f and g, using the simultaneous equations that were found earlier:

p = 3fg
g = p / 3f

q = g3 - f3
q = (p / 3f)3 - f3
q = p3 / 27f3 - f3
27f6 - p3 + q = 0

Which is a quadratic equation for t3. Once you have worked out this, you can apply it to g = p / 3f, and then use g in y = f - g to find y, and then use y in y3 + py + q, and from that you can find a root to the original equation, x = y - b/3.

And after all that, we have one root. Use polynomial division as before to obtain the other roots; by this time, doing that should be comparatively trivial.


x | x2 | x3 | x4 | x5

Log in or register to write something here or to contact authors.