Source: http://calcul.math.cnrs.fr/attachments/spip/Documents/Ecoles/LEM2I/Mod3/fortran.pdf