Newton’s Divided Difference Formula
#include<stdio.h> #include<conio.h> int main (void) { int i,j,n; float xp,fp,sum,pi,x[10],f[10],a[10],d[10][10]; printf("Enter the number of data points: "); scanf("%d",&n); printf("Enter the value of x: "); for(i=1;i<=n;i++) scanf("%f",&x[i]); printf("Enter the value of f(x): "); for(i=1;i<=n;i++) scanf("%f",&f[i]); for(i=1;i<=n;i++) d[i][1]=f[i]; for(j=2;j<=n;j++) { for(i=1;i<=n-j+1;i++) d[i][j]=(d[i+1][j-1]-d[i][j-1])/(x[i+j-1]-x[i]); } for(j=1;j<=n;j++) a[j]=d[1][j]; printf("Input the value of xp: "); scanf("%f",&xp); sum=a[1]; for(i=2;i<=n;i++) { pi=1.0; for(j=1;j<=i-1;j++) pi=pi*(xp-x[j]); sum=sum+a[i]*pi; } fp=sum; printf("\n\nNewton interpolation: \n"); printf("at x = %f is %f ",xp,fp); getch(); }