Move code around so we can more easily find the path from the start to the finish state.
Return the path to the end state rather than the end state.
Switch to BFS
Also filter out movements that go out of bounds in the negative.
Only offer movements 1 space at a time.
Add lots of documentation.