Locating the roots of a cubic polynomial. Given a cubic polynomial $f(x) = ax^{3} + bx^{2} + cx +d$ with arbitrary real coefficients and $a\neq 0$. Is there an easy test to determine when all the real roots of $f$ are negative?
The Routh-Hurwitz Criterion gives a condition for roots lying in the open left half-plane for an arbitrary polynomial with complex coefficients which helps a little, but this criterion doesn't help me when the complex roots lie in the right half plane.
 A: We can assume that $a = 1$, since dividing by $a$ doesn't change the zeros. Then we know that $\lim\limits_{x\to +\infty} f(x) = +\infty$. We want to check whether $f$ has a zero in $[0,+\infty)$.
If $d = 0$, we have $f(0) = 0$. There can be circumstances when that should count as negative. Then we are reduced to checking a quadratic polynomial, whose zeros we know to find.
If $f(0) = d < 0$, then $f$ has a zero in $(0,+\infty)$ by the intermediate value theorem.
If $d > 0$, we check the derivative,
$$f'(x) = 3x^2 + 2bx + c = 3\biggl(x+\frac{b}{3}\biggr)^2 - \frac{b^2-3c}{3}.$$
If $f'$ has no positive zero, or a double zero, then $f$ is strictly increasing on $[0,+\infty)$, so then $f$ has no non-negative real zero. If $b^2 < 3c$, then $f'$ has two non-real zeros, and if $b^2 = 3c$, $f'$ has a double zero at $-\frac{b}{3}$. If $b^2 > 3c$, then $f'$ has two distinct real zeros. The larger of these is
$$\zeta = \frac{\sqrt{b^2-3c}-b}{3}.$$
We have $\zeta > 0$ if and only if $b \leqslant 0$ or $b > 0$ and $c < 0$. Then $f$ has no positive zero if and only if $f(\zeta) > 0$.
A: If you are interested in only the roots you can normalize and take $a=1$. Then a necessary condition is that $b,c,d>0$. As it has 3 negative roots its two turning points should be negative too. That is $f'(x)= 3x^2-2bx+c$ should have real negative roots, which can be easily translated to a condition on the discriminant $b^2-3c\ge0$.
