I need to find the minimum $r$ and the maximum $k$ of the following cubic equation for which there does not exist three distinct real roots.


Is it possible to find such $r$ and $k$ analytically? Or if you can provide me help using mathematica, that would be fine too.Thanks.

  • 4
    $\begingroup$ You could try interpreting the output of Reduce[Discriminant[r x^3 - r k x^2 + (r + k) x - r k, x] == 0, {r, k}, Reals] // FullSimplify. $\endgroup$ May 5, 2013 at 18:19
  • $\begingroup$ Maybe you could tell us the approach(es) you've tried? $\endgroup$
    – bill s
    May 5, 2013 at 18:20
  • $\begingroup$ The result looks really messy. I could not interpret it. Can you give me the solution? $\endgroup$
    – upaudel
    May 5, 2013 at 18:27
  • 5
    $\begingroup$ I upvoted your question, and then saw your comment "The result looks really messy. I could not interpret it. Can you give me the solution?" Please be aware that if you can't interpret your own problem results, the problem is (perhaps) above your abilities $\endgroup$ May 5, 2013 at 19:05
  • 1
    $\begingroup$ You want the cubic polynomial's discriminant to be non-positive for it not to have 3 distinct real roots. If you look at the results of what @J.M. suggested, you should at least be able to handle readily some of the boundary cases that arise. $\endgroup$
    – murray
    May 5, 2013 at 19:59

1 Answer 1


I would leave this as a comment if I could...

You can solve these analytically using some complex analysis and trigonometry as per this link.

Also Tristan Needham's excellent Visual Complex Analysis deals with solving cubics in depth. I know its not Mathematica *per se*, but should be usable along side of it. The trigonometric solution might be a little simpler than what is achieved by the mess that is:

Solve[r*x^3 - r*k*x^2 + (r + k)*x - r*k == 0, x]
  • 1
    $\begingroup$ I agree that it should probably be a comment but I couldn't help upvoting, as I think it's an interesting point. For specific irreducible cubics, you can often (always??) express the roots in this form using ComplexExpand. For example: ComplexExpand[Re[z /. Solve[z^3 - 3 z - 1 == 0, z]]]. In this case, the Re simply removes the imaginary parts, which we know to be zero anyway. $\endgroup$ May 6, 2013 at 13:06

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.