The name of the puzzle is sujiko. Load init-sujiko. Ok. The name of the action is write-1-to-9. You can write a number that is between one and nine onto an empty location. If the value of a location is absent then the location is empty. The solution has four steps. Load final-sujiko. The name of the goal is all-filled. Ok. The goal is that all locations are filled. If the value of a location is more than zero then the location is filled. Load fail-sujiko. If the value of a location is the value of another location then you lose. Ok. If the locations in a grouping are filled and the sum of the values of the grouping is not the value of a block that is above the grouping then you lose. Ok. If a block is filled and their locations are under the block then they are in a grouping. Done. No.