Given samples of an unknown function, Newton's divided differences reconstruct the interpolating polynomial incrementally: each new point adds one more term without disturbing the ones already found. The coefficients are the divided differences — slopes of slopes of slopes — and the polynomial is f[x₀] + f[x₀,x₁](x−x₀) + f[x₀,x₁,x₂](x−x₀)(x−x₁) + …. Because the Vandermonde system (dart 294) is solvable, this reconstruction is unique — whatever order you add the points, you land on the same polynomial. It is the numerically graceful way to recover a function from a table, and the ancestor of finite-difference methods.
Three samples of an unknown function. The demo builds the divided-difference coefficients and reconstructs the polynomial's value at a new point: live demo
“Adding a data point means refitting from scratch.” — a divided-difference table extends: the old coefficients stand, and the new point contributes exactly one new term. Reconstruction that grows instead of restarting. cited
Slopes of slopes, banked as you go: each sample deepens the table by one, and the reconstruction is unique because the nodes are distinct. Recovery that accumulates. Newton
On the canonical compiler, samples (0,1),(1,3),(2,9) give divided differences 1, 2, 2, reconstructing the polynomial to 19 at x=3 (the function was 2x²+1):