Numerical methods for engineers: a programming approach - Griffiths, D. V. (CRC Press, 1991)