Hard boards use every easy and medium move and add one more: a test you run in your head.
Pick an empty square and suppose it holds a cat. Then follow the simple moves from there: the signs, the pairs, the counts. If a few moves later a line ends up with four dogs, or three cats in a row, the cat was wrong, so the square holds a dog.
This is not guessing. You never write the test on the board, and you stop the moment it breaks a rule. Either the test breaks a rule, which proves the other animal, or it doesn't, and you learn nothing and try another square.
Choose squares where one animal sets off a long chain, such as the end of a run of = signs or a square in a nearly full line. Keep the test short: if nothing breaks within four or five moves, drop it and look elsewhere. After a test settles a square, go back to the easy moves.