The third problem was a grid puzzle. Two long and twisting wires should be analyzed for

crossings. And the task was to return the crossing nearest to the starting point (and the

crossing with shortest steps from the starting point in part 2). For efficiency reasons

I decided to sacrifice compact code for repeating myself a bit. There is an overlap

between part 1 and part 2, but the solution is basically repeated twice. In the end it

solves the problem for my input in about 20 seconds.

My solution is here - but I am sure it can be done more efficiently…