How to Find all the Roots of a Polynomial by Factoring