Source: http://soutien67.free.fr/math/niv04/problemes/divers/pb%20div%2006%20-%20C.pdf