Solving Higher Degree Polynomials