If you have n data points (x[i], y[i], z[i]), compute the 3×3 symmetric matrix A whose entries are:
sum_i x[i]*x[i], sum_i x[i]*y[i], sum_i x[i]
sum_i x[i]*y[i], sum_i y[i]*y[i], sum_i y[i]
sum_i x[i], sum_i y[i], n
Also compute the 3 element vector b:
{sum_i x[i]*z[i], sum_i y[i]*z[i], sum_i z[i]}
Then solve Ax = b for the given A and b. The three components of the solution vector are the coefficients to the least-square fit plane {a,b,c}.
Note that this is the “ordinary least squares” fit, which is appropriate only when z is expected to be a linear function of x and y. If you are looking more generally for a “best fit plane” in 3-space, you may want to learn about “geometric” least squares.
Note also that this will fail if your points are in a line, as your example points are.