Numerical Recipes In Fortran 90 by Saul A. Teukolsky