Specialised algorithm to find positive real solutions to quartic equations?

This is one of those situations where it is probably easier to find all the roots using complex arithmetic than to only find the positive real roots. And since it sounds like you need to find multiple roots at once, I would recommend using the Durand-Kerner method, which is basically a refinement of the method of Weierstrass:

http://en.wikipedia.org/wiki/Durand%E2%80%93Kerner_method

Weierstrass' method is in turn a refinement of Newton's method that solves for for all the roots of the polynomial in parallel (and it has the big advantage that it is brain-dead easy to code up). It converges at about quadratic rate in general, though only linearly for multiple roots. For most quartic polynomials, you can pretty much nail the roots in just a few iterations. If you need a more general purpose solution, then you should use instead use Jenkins-Traub:

http://en.wikipedia.org/wiki/Jenkins%E2%80%93Traub_method

This is faster for higher degree polynomials, and basically works by converting the problem into finding the eigenvalues of the companion matrix:

http://en.wikipedia.org/wiki/Companion_matrix

EDIT: As a second suggestion, you could also try using the power method on the companion matrix. Since your equation has only non-negative coefficients, you may find it useful to apply the Perron-Frobenius theorem to the companion matrix. At minimal, this certifies that there exists at least one non-negative root:

http://en.wikipedia.org/wiki/Perron%E2%80%93Frobenius_theorem


Yes, there are general ways. You need a root finding algorithm, like bracketing and bisection, secant, false position, Ridder, Newton-Raphson, deflation, Muller, Laguerre, or Jenkins-Traub - did I leave anyone out?

Check out "Numerical Recipes" for details.