#include<stdio.h>
#include<math.h>
#define max 100

double lag(int , int , double , double*);

int main(void)
{

int i,n;
double x,y;
double datax[max];
double datay[max];

FILE *input;
FILE *output;

input=fopen("ex7.txt","r");
output=fopen("ex7ans.txt","w");

 for(i=0;i<max;i++){
   datax[i]=0.0;
   datay[i]=0.0;
 }

 i=0;

 while(fscanf(input,"%lf%lf",&datax[i],&datay[i])!=EOF){
   i++;
   n=i;
 }

 for(x=datax[0];x<datax[n-1];x+=0.1){
   y=0.0;
   for(i=0;i<n;i++){
     y=0.0;
     y+=datay[i]*lag(i,n,x,datax);
   }
   fprintf(output,"%f %f\n",x,y);
 }

 fclose(input);
 fclose(output);

 return 0;

}




double lag(int i,int n,double x,double datax[]){

  int j;
  double ans=1.0;

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

    if(i!=j){
      ans*=(x-datax[j])/(datax[i]-datax[j]);
    }
  }
  return 0;
}
// 4 0 2 5 6 0 3 2 4
