Factoring And Solving Polynomials