# -*- coding: utf-8 -*-
from numpy import asarray, zeros

xData = asarray( [ -2, 1, 4, -1, 3, -4 ] )
yData = asarray( [ -1, 2, 59, 4, 24, -53 ] ) 

# Compute the full divide difference table and store in A:
# 
m = len(xData)  # Number of data points
A = zeros( (m,m) ) 
a = yData.copy()
A[:,0] = a

for k in range(1,m):
    a[k:m] = (a[k:m] - a[k-1])/(xData[k:m] - xData[k-1])
    A[k:m,k] = a[k:m] 
print (A)

