Source: https://www.imo.universite-paris-saclay.fr/~amaury.freslon/Documents/MATH213/Corrige_Courbes.pdf