You are on page 1of 3

Newton’s Forward Interpolation Method

#include<stdio.h>

#include<conio.h>

#include<math.h>

int main()

int n,i,j;

float f[10][10],h,m,s,x[10],min;

for(i=1;i<10;i++)

for(j=0;j<10;j++)

f[i][j] = 0;

printf("Enter the value of n:");

scanf("%d",&n);

printf("WRITE YOUR PROGRAM 'x' first\n");

for(i=0;i<n;i++)

scanf("%f",&f[0][i]);

printf("WRITE YOUR PROGRAM 'y' now\n");

for(i=0;i<n;i++)

scanf("%f",&f[1][i]);

h = f[0][1]-f[0][0];

printf("h = %f\n",h);
for(i=2;i<n+1;i++)

for(j=0;j<n;j++)

f[i][j] = f[i-1][j+1]-f[i-1][j];

printf("Enter the value of X:");

scanf("%f",&m);

for(i=0;i<n;i++)

x[i]=m-f[0][i];

min=x[0];

for(i=0;i<n;i++)

if(x[i]<0)

break;

if(x[i]<min)

min=x[i];

i--;

s = (m-f[0][i])/h;

printf("value of s= %f\n",s);

float p=1,ans = 0;

ans = f[1][i];

for(j=1;j<n;j++)

p = (p*(s-j+1))/j;
ans = ans + p*f[j+1][i];

printf(" x\t\t y\t\t del(y)\t (del^2)y\t (del^3)y\t (del^4)y\n");

for(i=0;i<n;i++)

for(j=0;j<(i>1?n-i+1:n);j++)

printf(" %f\t",f[j][i]);

printf("\n");

printf("y[%f]=%f",m,ans);

You might also like