Why not just parameterize each line as a vector and take the cross product instead?
Actually, this is the same math as a cross product. It's just disguised as a least-squared problem.
@adam The solution to this linear system has a single solution. You can derive it many different ways, but you'll always end up with the same expression.