I ended up fixing it so every level is beatable. They are also random each time so not every grid are the same. What I did was start the game in a winning state, then halted win conditions while I simulated a player pushing a random square about 10000 times, then I started game and win conditions. It was fun working it out. Thanks again for playing and giving feedback!