http://www.bearnol.pwp.blueyonder.co.uk/Math/fibonacc.htm