I am writing a program that inputs a sequence of points $(x_i,y_i)$ based on the user clicking on certain pixels in an image shown. The program should then find the "best -fitting" line in the least squares sense to the set of points received. However, I must account for error in both the $x$ and $y$ variables based on the fact that the user is not exact in his/her clicking, and I must weight the points with predetermined weights $w_i$ based on how important they are in determining the line.
What is the most accurate way of computing the line in this case?