\myheading{Tiling puzzle (SAT)} \label{tiling_SAT} \renewcommand{\CURPATH}{other/tiling/SAT} This is the same problem, rewritten to be used with SAT solver. This is different solution: it uses exact cover problem solver which function is in \verb|SAT_lib.py|. (It is better to \emph{offload} it to library.) The exact cover problem is also used in another example: ``Mutually orthogonal Latin squares: finding via transversals'': \ref{MOLS_transv}. What is also different: now a polyomino can be reused many times. (This is configurable.) Also, the \emph{mutilated chessboard problem}\footnote{\url{https://en.wikipedia.org/wiki/Mutilated_chessboard_problem}} can be proven. Of course, no solution would be produced. But SAT solver can produce a proof. Resulting CNF file is very compact: 346 clauses, 110 variables. (This is an exact cover problem, of course.) If Kissat is used, the proof file size is only 14KiB. The source code: \url{\RepoURL/\CURPATH/tiling.py}.