Compared to modulo, where I cannot find a trick to improve the solver (except constant speedup by multithreading ... everything else was natural) ... brickolade seems to be reach of possible improvement paths compared to simple bruteforce. ... Move (in) dependency is what makes this puzzle really interesting.
Early cuts could improve bruteforce to some level, but I suppose dependency analysis and some kind of dynamic programming would be required to pass higher levels.
Hmmm, I did 76 manually faster than the simple code ...
... And the same with 103

and 108, 109 ...
I have recoded whole the solver to make it persistent as much as possible ... and seems I gained almost no speedup

... let me hope the added statistics would sppedup the "early cuts", whose were slowing down the original version.