program newton
implicit none
real::x(10),y(10),d1(10),d2(10,10),d3(10,10,10),d4(10,10,10,10),d5(10,10,10,10,10),d6(10,10,10,10,10,10),d7(10,10,10,10,10,10,10),g(10)
integer::i,j1,j2,j3,j4,j5,j6,j7,j8,j9,j10,k,n,mode
write(*,*)'Grapse 1 an 8es na leitourgiseis me synartisi, i 2 an 8es na dwseis me ti seira ta zeygaria x,y'
read(*,*) mode
write(*,*)'Dwse ton ari8mo twn simeiwn'
read(*,*) n
if(mode==1) then
write(*,*)'Dwse tis tetmimenes twn simeiwn'
do i=0,n
read(*,*) x(i)
y(i)=x(i)**2
end do
else
write(*,*)'Dwse ta zeygi twn syntetagmenwn twn simeiwn'
do i=0,n
read(*,*) x(i),y(i)
end do
end if
write(*,*)'Exoume ta e3is simeia'
do i=0,n
write(*,*)x(i),y(i)
end do
do j1=0,n-1
d1(j1)=y(j1+1)
end do
do j2=0,n-1
d2(j2+1,j2)=(d1(j2+1)-d1(j2))/(x(j2+1)-x(j2))
end do
do j3=0,n-2
d3(j3+2,j3+1,j3)=(d2(j3+2,j3+1)-d2(j3+1,j3))/(x(j3+2)-x(j3))
end do
do j4=0,n-3
d4(j4+3,j4+2,j4+1,j4)=(d3(j4+3,j4+2,j4+1)-d3(j4+2,j4+1,j4))/(x(j4+3)-x(j4))
end do
do j5=0,n-4
d5(j5+4,j5+3,j5+2,j5+1,j5)=(d4(j5+4,j5+3,j5+2,j5+1)-d4(j5+3,j5+2,j5+1,j5))/(x(j5+4)-x(j5))
end do
do j6=0,n-5
d6(j6+5,j6+4,j6+3,j6+2,j6+1,j6)=(d5(j6+5,j6+4,j6+3,j6+2,j6+1)-d5(j6+4,j6+3,j6+2,j6+1,j6))/(x(j6+5)-x(j6))
end do
do j7=0,n-6
d7(j7+6,j7+5,j7+4,j7+3,j7+2,j7+1,j7)=(d6(j7+6,j7+5,j7+4,j7+3,j7+2,j7+1)-d6(j7+5,j7+4,j7+3,j7+2,j7+1,j7))/(x(j7+6)-x(j7))
end do
g(0)=d1(0)
g(1)=d2(1,0)
g(2)=d3(2,1,0)
g(3)=d4(3,2,1,0)
g(4)=d5(4,3,2,1,0)
g(5)=d6(5,4,3,2,1,0)
g(6)=d7(6,5,4,3,2,1,0)
do k=0,6
write(*,*)g(k)
end do
end