#https://gist.github.com/cartr/6513044  
# Define the data

# A linear regression line has an equation of the form Y = a + bX, where X is the explanatory variable and Y is the dependent variable. The slope of the line is b, and a is the intercept (the value of y when x = 0).


data = set()  
count = int(input("Enter the number of data points: "))  
for i in range(count):  
    x=float(input("X"+str(i+1)+": "))  
    y=float(input("Y"+str(i+1)+": "))  
    data.add((x,y))  
  
# Find the average x and y  
avgx = 0.0  
avgy = 0.0  
for i in data:  
    avgx += i[0]/len(data)  
    avgy += i[1]/len(data)  
  
# Find the sums  
totalxx = 0  
totalxy = 0  
  
for i in data:  
    totalxx += (i[0]-avgx)**2  
    totalxy += (i[0]-avgx)*(i[1]-avgy)  
  
# Slope/intercept form  
m = totalxy/totalxx  
b = avgy-m*avgx  
  
print("Best fit line:")  
print("y = "+str(m)+"x + "+str(b))  
  
x = float(input("Enter a value to calculate: "))  
print("y = "+str(m*x+b))