Source: https://www.afkw.org/pythagore/concepts/polynomefactorisation.pdf