Requirements: Java 11, JavaFX (https://openjfx.io/), Librarys included in libs
Startup file for JavaFX is in src/gui/Main.java
To insert a puzzle, encode it in json, 2 examples are included. To step forward press F5 and to solve entirely press F6.
Possibly exponential runtime, but I have no idea on how to solve it in linear time without a theoreom solver, which would be an overkill.