procedurally generated levels may be possible IF someone would be able to write kind of solver taking the rules in play here then be able to score solution according to some difficulty parameter.
Technically, solving these puzzles by brute force is "pretty easy" (for an algorithm), maybe do random attempts until all cases are exhausted and matching how many iterations it has taken would be enough.
Difficulty also scale with number of pieces & hazards.
Still easier says than done :).