Source: https://www.rajagiritech.ac.in/Home/mech/Course_Content/Semester%20V/ME%20305%20Computer%20Programming%20and%20Numerical%20Methods/Module%202a.pdf