#include <conio.h>
#include <stdio.h>
#include<math.h>

#define FALSE 0
#define TRUE  1

void main()
{
 double divided_sub(double[50],double[50],unsigned int,double);
   unsigned n,i;
   double x[50],y[50],answer,in;
   clrscr();  
   do {
   printf("Enter Number Of Parts (Max .50 ):\0");
   cin>>n;
   }while (n>50);
   for (i=0;i   {
   printf("Enter X%u:\0",i);
   cin>>x[i];
   printf("Enter Y%u:\0",i);
   cin>>y[i];
   }
   printf("\nEnter X To Caculate F(X):\0");
   cin>>in;
   answer=divided_sub(x,y,in);
   printf("\n F(%f)= %f\0",in,answer);
   getch();
   }
   /*********************************/
 double divided_sub(double a[50],double b[50],unsigned int n,double x)
   {
   unsigned int i,j,k,count=1;
   double c[51][50],p,l[50];
   for (i=0;i   for (j=0;j   {

   if (j<=i)
    c[j][i]=0;
    else
    if (i==0)
   c[j][i]=(b[j]-b[j-1])/(a[j]-a[j-a[j-(i+1)]);

   else

   c[j][i]=(c[j][i-1]-c[j-1][i-1])/(a[j]-a[j-a[j-(i+1)]);
   }


   for (i=0;i   l[i]=1;

   for (i=0;i   
   {


   for (j=0;j   l[i]*=(x-a[j]);
   ++count;
   
    }

p=b[0];
j=1;
i=0;

while(i{
p+=(c[j][i]*l[i]);
++i;
++j;
return (p);
}