Source: https://www.irif.fr/~picantin/IF1/poly2-2010x4.pdf