**Interpolation Using Lagrange Polynomial**

This project implements the numerical interpolation using the Lagrange polynomial. For a given set of distinct points
*x*'s and numbers *y*'s, the Lagrange polynomial is the polynomial of the least degree that at each point
*x* assumes the corresponding value *y* (i.e., the functions coincide at each point). The interpolating polynomial of the least degree is unique, however, and it is therefore more appropriate to speak of
*the Lagrange form* of that unique polynomial rather than *the Lagrange interpolation polynomial*, since the same polynomial can be arrived at through multiple methods. When constructing interpolating polynomials, there is a tradeoff between having
a better fit and having a smooth well-behaved fitting function. The more data points that are used in the interpolation, the higher the degree of the resulting polynomial, and therefore the greater oscillation it will exhibit between the data points. Therefore,
a high-degree interpolation may be a poor predictor of the function between points, although the accuracy at the data points will be
*perfect*. Lagrange interpolation is susceptible to Runge's phenomenon, and the fact that changing the interpolation points requires recalculating the entire interpolant can make Newton polynomials more attractive. The Lagrange form of the interpolation
polynomial shows the linear character of polynomial interpolation and the uniqueness of the interpolation polynomial. Therefore, it is preferred in proofs and theoretical arguments. The implementation also performs the
**analytical integration** of the polynomial within the ranges defined in the input.