https://pythonprogramminghelp.com/numerics-using-python/