Source: http://www.normalesup.org/~vripoll/MAT1013_Exos5.pdf