Source: https://sites.uclouvain.be/archives-portail/ppe2015/prog-2015-math2a.pdf