Solving algebraic equations