How to find number of real and complex roots? Below is a question asked in JNU Entrance exam for M.Tech/PhD. I want to know if there is a fixed way to calculate it. I have failed to use the factor theorem.
The number of real and complex roots of the polynomial x^3 - 5x + 1 = 0 is

    a. 2, 2
    b. 3, 0 
    c. 1, 0
    d. 1, 2

 A: Hints: Fill up the reasons for the following
As the polynomial's degree is odd ($\;3\;$) it has at least one real root (why?).
$$\begin{cases}f(0)f(1)<0\\{}\\f(2)f(3)<0\end{cases}\;\implies\;\text{there's one real root in each of the intervals}\;(0,1)\;,\;(2,3)\;(\text{why?})$$
and since the complex roots of real polynomials appear in conjugate pairs (why?), the correct option is (b)
A: If you are looking for an algorithm, then the discriminant is the way to go as mentioned in the comments.
What I would do here instead: We know what the graph of $x^3-5x$ looks like approximately, it has three real roots. Now we add a positive constant. If this is very big, then we will end up with only one real root, which is negative. If it is small, we will have one negative and to positive real roots. For one boundary value, there will be a positive double root. To distinguish the two cases we only have to figure out if there is an $x>0$ such that $f(x)<0$. We could calculate the local minimum of $f$ if necessary (it might be not too much fun to figure out if is positive or negative, I guess we would end up doing the calculation of the discriminant in an overly complicated way), but here we immediately see that $f(1)<0$. Hence three real roots.
A: By Descartes' rule of signs $x^3-5x+1=0$ has zero or two positive real roots and exactly one negative real root.  It has at least one positive root since it has opposing signs at $x=0$ and $x=1$, so it must have two positive real roots.
