According to “Maxima”, or more specifically, according to “wxMaxima”, the three Roots to a Cubic Equation are generally as shown below, assuming that there exists one solution entirely in Real numbers:

http://dirkmittler.homeip.net/cubic.pdf

(Edit 2/7/2016 : ) There are two observations which need to be made about the solution shown above, which are related to the fact that a cubic equation can sometimes have three Real roots, or two, but that it always has at least one.

1) The expression which we’re told to find the cube root of could be equal to zero. And while finding the cube root of zero represents no obstacle, a division by zero does, and a division by zero ensues.

2) The expression we’re asked to find the square root of can become negative. In that case the solution shown above finds no Real numbers. Further, this output from ‘Maxima’ does not elucidate, how to process the fact that radicals are usually both negative and positive. An entire expression gets repeated, in which the radical could be negative. And there is no easy way to know, whether this radical is allowed to be negative in only one occurrence, or in both occurrences…

When using ‘Maxima’, a frequent goal is to eliminate extraneous complex numbers, by applying the sequence [‘rectform’, ‘trigsimp’] to an already-formed solution which is capable of producing Real numbers. But in this example, the sequence does not produce meaningful results. And one main reason is the fact that this sequence has no magic, by which to output information which was not input. So this trick does not produce an inverse-trigonometric function whose angle is naturally divided by three, so that a multiple of (2π/3) Radians could simply be added to it, before a trig function is taken again. That ‘Maxima’ can recognize.

(End of Edit 2/7/2016)

If we need to find three existing real roots, then we must apply the system of Reduction To A Depressed Cubic as shown here:

Step 1

Followed by Trigonometric Method For Three Real Roots as shown here:

Step 2