One goal of modern mathematics, broadly speaking, seems to be systematizing ad hoc phenomena by placing them in a broader context. This describes, for example, the development of abstract algebra in the 19th and 20th centuries. Whereas older mathematics was more problem-focused (e.g. classical number theory), modern mathematics seems much more theory-focused (e.g. Grothendieck’s development of modern algebraic geometry, or Lurie’s higher algebra).
I do not think it really makes sense to ask whether one of these styles is better than the other, but I do think it is refreshing, after doing one of these for a long time, to do some of the other. In this post, I will outline a solution to the problem in the title which is more “classical” in flavor (i.e. clever, ad hoc, etc.). (Modern methods would probably begin by understanding the moduli space of lines in R^3, which I will not do because I do not know how.)
The key idea is to consider one-sheeted hyperboloids. Recall that a one-sheeted hyperperboloid contains two families of lines, where the lines in each family do not intersect each other, but any two lines in different families intersect. (Proof: Without loss of generality take a standard hyperboloid , since stretching preserves lines. Since every line on the hyperboloid will intersect the plane, and the hyperboloid is centrally symmetric, we can view any line on the hyperboloid as the rotation (about the -axis) of a line passing through . These lines are precisely and . The first family is given by rotating the line of the first form, and the second family is given by rotating the line of the second form. By considering each -coordinate one at a time, we see that the lines in the first family do not intersect, because rotation has no fixed points. Similarly by considering each -coordinate one at a time, we see that any line in the first family intersects every line in the second family, essentially because two tangents to the circle from the same point have the same length.)
The second fact is that for any three lines in general position, there is a unique hyperboloid passing through them. (Proof sketch: We just construct the hyperboloid. We need to specify the central axis, and then we just rotate one of the lines about this axis. Take the three lines and translate them so they all intersect at one point. Then find a line passing through this point which makes the same angle with all of them. This is possible because there is a plane of lines (in fact, two planes, but we can just pick one) which make the same angle with any pair of them. This specifies the direction of the central axis. To find a point lying on the central axis, simply intersect the three lines with any plane orthogonal to the specified direction, and find the center of the circle formed by the three points.)
Let us now solve the problem. Given our four lines in general position, find the hyperboloid containing the first three. Since the lines are in general position, they do not intersect, so they all belong to the same family of lines on the hyperboloid (note that implicit in the proof of the first claim is that the two familes comprise all the lines on the hyperboloid). Now any line which intersects these three lines must lie on the hyperboloid, because otherwise it only intersects the hyperboloid in at most 2 places. Hence the lines which intersect these three lines is precisely the second family of lines on the hyperboloid.
A fourth general line intersects the hyperboloid in two points. In particular there are exactly two elements of the second family of lines which pass through these two points. Hence the number of lines which intersect 4 lines in R^3 is .