Arrow Path Sudoku Solver is a Java application for generating, editing, and solving Arrow Path Sudoku puzzles. While not a school project, it was inspired by one of my former math professors, who was studying the properties of Arrow Path Sudoku. Each Arrow Path Sudoku puzzle (without fixed numbers) has at least nine solutions. But are there puzzles with more solutions? What is the maximum number of solutions? I wrote this program to help study the problem, since I'm better at writing software than mathematical proofs.

Arrow Path Sudoku Solver requires the Java Runtime Environment.

With the Java Runtime Environment installed, open a terminal window, change to the directory where you downloaded `arrowpathsudoku.jar`

, and type:

`java -jar arrowpathsudoku.jar`

at the command prompt.

Arrow Path Sudoku is played on the classic 9×9 Sudoku grid, and just as in classic Sudoku, the goal is to fill in the grid so that each row, column, and 3×3 block (delimited by thick lines) contains each of the digits 1 through 9. In Arrow Path Sudoku, each cell contains an arrow pointing to another cell in the same block which must contain the next higher digit, or 1 if the referring cell contains 9. There is usually only a single number filled in for the player, known as a hint.

From the puzzle above, we can fill in a few digits:

At this point it is not immediately apparent where the 9 goes. With a little deduction it can be determined that the 9 must go in the upper-right cell of this block. The complete solution to the puzzle is below.

The arrows may only point in multiples of 45°, so not all arrangements of numbers possible in a classic Sudoku puzzle are valid in Arrow Path Sudoku.

Since the numbers depend on one another in a cyclic fashion (with 9 pointing back to 1), each solution is equivalent to eight other solutions, provided no numbers are fixed. These alternate solutions may be obtained simply by incrementing each number on the board by a fixed amount using modular arithmetic. Every puzzle without fixed numbers has a multiple of nine solutions. In puzzles with more than nine solutions, fixing different numbers may narrow the solution set by different amounts.

Click the

button, or use the generate menu to generate a new Arrow Path Sudoku puzzle.

Generate | |
---|---|

Arrow path | Generates a puzzle without hints. |

Arrow path w/ hint[s] | Generates a puzzle with as many hints as needed to ensure a unique solution. |

Arrow path w/ numbers | Generates a solved puzzle without hints. |

Arrow path w/ numbers and hint[s] | Generates a solved puzzle with as many hints as required to make the given solution unique. |

Arrow path w/ many solutions | Generates a puzzle without hints, which has at least 18 solutions. This can take quite a while, since the program generates new puzzles until it finds one with more than the usual 9 solutions. |

The hints by default, or will repeat the last invoked of the top four generate menu items.

button will generate a puzzle withLocked (fixed) numbers, such as hints created by the generator, are displayed in red. They cannot be edited or deleted without first being unlocked. You may lock or unlock numbers by right-clicking on them.

Click in the center of a cell to delete its arrow. Click on the side or corner of a cell to point its arrow in the corresponding direction. Each arrow must point to another cell in the same block, and in a multiple of 45°.

Press `Backspace`, `Delete`, or `0` to delete the number in the cell under the mouse cursor. Press `1` – `9` to set the number in the cell under the mouse cursor. Locked numbers must be unlocked prior to being edited or deleted.

Click the

Click the button to clear only unlocked numbers.

Clear | |
---|---|

Unlock numbers | Unlocks all locked numbers. |

Unlocked numbers | Clears all unlocked numbers. |

All numbers | Clears all numbers. |

All | Clears everything on the board. |

When the current puzzle is solvable, the number of solutions (taking into account locked numbers) will be displayed under the board. Click the button or use the solve menu to solve the current puzzle. If multiple solutions exist, one will be chosen at random. If the puzzle is partially solved, the solver will attempt to finish solving the puzzle with the current unlocked numbers intact, only changing them if this is not possible. If the puzzle is already solved, but other solutions exist, the solver will pick another solution at random.

If the puzzle is solved, and multiple solutions exist, you can scroll through them with the keyboard or the mouse wheel.

Key | Mouse | Action |
---|---|---|

↑ |
scroll wheel up | next solution |

↓ |
scroll wheel down | previous solution |

Page Up |
10 solutions forward | |

Page Down |
10 solutions backwards | |

Home |
first solution | |

End |
last solution |

There are several built-in sample puzzles available from the samples menu. These are meant to demonstrate the existence of Arrow Path puzzles with a large number of solutions. You can load one of these puzzles, solve it, and then experiment with locking down various numbers to see the effect on the number of solutions. You can also scroll through all said solutions as described above!