Algorithm for complex roots of high degrees.

Is there an algorithm to find complex roots of equations of high degrees? Let's suppose I'm given an even function of degree greater than 6 that does not have real roots, how am I supposed to find its complex roots efficiently? (please no trial and error methods, and methods that needs computer calculations)

(This is basically for differential equations, solving the characteristic equation)

EDIT: Something like Newton's method, https://www.wikipedia.com/en/Newton's_method

• A useful fact is that complex roots come in conjugate pairs. And as far as I'm aware, there is no formula for computing the roots of polynomials with degree 5 or more (you may want to check this though). – Mattos Nov 19 '15 at 12:20
• As @Mattos suggests, there is no general formula for the roots of polynomials of degree $\geq 5$. Unless you can reduce the degree of the polynomials involved, e.g. by find a partial factorization of your polynomial or by writing it as $p(q(x))$ for some polynomials $p,q$ of degree $\geq 2$, you are out of luck. If you have a specific problem in mind you should ask about that instead. – A.P. Nov 19 '15 at 12:51
• ahh so it really boils down to reducing the polynomial? I'm thinking about some algorithm like Newton's (the successive iterations for roots) wikipedia.com/en/Newton's_method – I_Love_Eng Nov 19 '15 at 13:34
• Sure, there are many root-find algorithms out there, some of which can efficiently give you a good approximation of your roots... but you ruled those out in your question because (in general) the result is not exact and they need computer calculations — that holds for Newton's method, too. – A.P. Nov 19 '15 at 14:15