The maneuvering board solution, as others have mentioned, is the classic way to solve this problem.
However, in these days of computers there are obviously programs which can do the calculations rapidly.
I don't know what the best of these might be, but there is a little program which was designed for gaming (submarines, torpedos, etc.) which can solve such problems. While the calculations are in yards or meters, and there are some limits to distance, etc., with a little ingenuity you can find the solution.
The program is called Intercalc 1.1 Just Google it any you'll find it.