Ask A Scientist

Mathematics Archive


Quadratic Formula and roots of a cubic

Author:      yendor
It is well known that there is a quadratic formula which finds the two roots
of ax^2 + bx + c = 0 (a does not equal 0).  Is there a corresponding cubic
formula that finds three roots of the cubic ax^3 + bx^2 + cx + d = 0 (a does
not equal 0)?  If there is not, could you explain why not, and if there is
could you please explain the proof to me?

Response #:  1 of 2
Author:      hawley
Any cubic, y^3 + p*y^2 + q*y + r = 0 can be reduced to x^3 + a*x + b = 0
by the substitution x = y - p/3 and where a = (3*q - p^2)/3 and
b = (2*p^3 - 9*p*q + 27*r)/27.  Then the three solutions are given by:
         x = A + B,  -(A + B)/2 +/- (A - B)*sqrt(-3)/2
where    A = [ sqrt((b/2)^2 + (a/3)^3) - b/2 ]^ 1/3
and B is same as A except for a minus sign in front of the sqrt.

Response #:  2 of 2
Author:      rcwinther
Yes, there is a formula for the roots of a cubic equation.  Its derivation
is not nearly so straightforward as that for the quadratic formula; you
cannot just "complete the cube".  All of the derivations of the formula that
I have seen require at least one leap of intuition.  Furthermore, the
formula itself is kind of cumbersome:  if the cubic has three real roots,
the formula requires the user to calculate cube roots of complex numbers,
even though the imaginary parts end up canceling each other out.  The
formula is used by all of the symbolic algebra packages (Mathematica,
Macsyma, etc.) that I have seen, probably simply because it is general
(works for all cubics, even those with complex coefficients).  For numerical
work with cubics having real coefficients, it is not much used; instead, one
real root (every cubic with real coefficients has at least one real root) is
computed (using Newton's method, for example), then this root is used to
reduce the cubic to a quadratic; then the quadratic formula can be used to
obtain the other two roots.
    I will give a sketch of the derivation here.  A more complete derivation
(along with its historical context) is given in the excellent book "Journey
through Genius" by Wm. Durham.  I will use the notation found in that book.
    First, every cubic equation  a*y^3 + b*y^2 + c*y + d = 0  can be reduced
to the form    x^3 + m*x = n 
               divide through by a, 
               then substitute y = x-[b/(3*a)] and expand.
Then collect terms in powers of x and relabel the coefficients.  Now, a step
that looks like it came out of nowhere, but it has a geometric basis which
actually provided the guidance for the original solution (see the book for
this):  note that (t-u)^3 = t^3 - 3*t^2*u + 3*t*u^2 - u^3.  This can be
rewritten as (t-u)^3 + 3*t*u*(t-u) = t^3 - u^3.  Here is the intuitive leap:
we can convert this to our reduced cubic if we set:  
       x = t-u, m = 3*t*u, and  n = t^3 - u^3.  
Solve the second of these for u, then substitute this into the last equa-
tion, then multiply through by t^3; we get 
       n*t^3 = t^6 - m^3/27, 
which may be written (t^3)^2 - n*(t^3) - m^3/27 = 0, 
which is quadratic in t^3!  Solving,  t^3 = n/2 + sqrt(n^2/4 + m^3/27) 
(the "-" root from the quadratic formula does not add anything new), and 
u^3 = t^3 - n = -n/2 + sqrt(n^2/4 + m^3/27).  Taking cube roots of these, we
can find t and u, then get x = t - u, and finally, y = x - [b/(3*a)].  Let
the root found in this manner be denoted r; then (y - r) divides the
original cubic, yielding a quadratic which can be solved using the quadratic
formula to find the other two roots.  (Technically, we can find all three
roots at the earlier step of taking the cube root of t; in addition to the
real cube root of t, there will be two complex roots, but then you need to
use the m = 3*t*u equation to match up the proper u solution for each t
solution.)


Back to Mathematics Ask A Scientist Index
NEWTON Homepage Ask A Question

NEWTON is an electronic community for Science, Math, and Computer Science K-12 Educators.
Argonne National Laboratory, Division of Educational Programs, Harold Myron, Ph.D., Division Director.