For single-feature linear regression y^=wx+b, one step of gradient descent updates both parameters using the gradients derived in Linear Regression, Section 3:
Your task: implement gradient_descent_step(x, y, w, b, alpha) — given the current w, b, and learning rate alpha, compute one full-batch gradient step over the dataset (x, y) and return the updated(w, b) as a tuple. Don't mutate the inputs in place; return new values.