Solving Cubic Polynomial Equations And Factoring