Gradient Descent

This calculates the gradient descent for linear regression, vectorised
to allow for any number of variables to be considered