Find shortest path from start to finish