match-3 puzzle solver