Here are some other constraint modelling implementations of this problem: http://hakank.org/common_cp_models/#einavpuzzle .
Edit to add: holy moses, all those solutions! I need to reach out to Einav to let her know she is famous :-)
Here are some other constraint modelling implementations of this problem: http://hakank.org/common_cp_models/#einavpuzzle .