Cats & Dogs #296: 10x10 Grid Puzzle (Hard)
hardTap a square: 🐱 cat → 🐶 dog → clear
🐱 5 cats and 🐶 5 dogs in every row and column
= same × different
Can you finish the grid? Cats and dogs must balance in every line, no animal may appear three times in a row, and = / × signs tell you whether two neighbors match.
- Exactly 5 cats and 5 dogs in every row and every column.
- Never three of the same animal in a row, across or down.
- An = between two squares means the same animal; a × means different animals.
🐶
🐱
🐱
🐶
🐱
🐱
🐶
🐶
🐱
🐶
🐱
🐱
🐶
🐶
🐱
🐱
🐶
🐶
🐱
🐶
🐱
🐶
🐶
🐱
🐶
🐶
🐱
🐱
🐶
🐱
🐶
🐶
🐱
🐶
🐶
🐱
🐱
🐶
🐱
🐱
🐶
🐱
🐱
🐶
🐱
🐶
🐶
🐱
🐱
🐶
🐱
🐱
🐶
🐱
🐶
🐶
🐱
🐶
🐶
🐱
🐱
🐶
🐶
🐱
🐶
🐱
🐶
🐱
🐶
🐱
🐶
🐶
🐱
🐶
🐱
🐱
🐶
🐱
🐱
🐶
🐶
🐱
🐶
🐱
🐱
🐶
🐱
🐶
🐶
🐱
🐱
🐶
🐱
🐱
🐶
🐶
🐱
🐱
🐶
🐶
Step-by-step solution
Squares are written as R<row>C<column>, counting from the top-left.
- The = clue between R6C10 and R7C10 means they are the same. R6C10 is a cat, so R7C10 is a cat.
- The = clue between R10C4 and R10C3 means they are the same. R10C4 is a cat, so R10C3 is a cat.
- R7C6 and R7C8 are both cats with one square between them, so R7C7 must be a dog.
- R7C8 and R7C10 are both cats with one square between them, so R7C9 must be a dog.
- R10C1 and R10C3 are both cats with one square between them, so R10C2 must be a dog.
- R10C3 and R10C4 are both cats, so R10C5 must be a dog (no three in a row).
- R10C5 and R10C6 are both dogs, so R10C7 must be a cat (no three in a row).
- R9C7 and R10C7 are both cats, so R8C7 must be a dog (no three in a row).
- R7C7 and R8C7 are both dogs, so R6C7 must be a cat (no three in a row).
- R1C8 and R2C8 are both dogs, so R3C8 must be a cat (no three in a row).
- R6C10 and R7C10 are both cats, so R5C10 must be a dog (no three in a row).
- R6C10 and R7C10 are both cats, so R8C10 must be a dog (no three in a row).
- Imagine R1C6 were a dog: following the rules from there soon forces a contradiction, so R1C6 must be a cat.
- Imagine R1C7 were a cat: following the rules from there soon forces a contradiction, so R1C7 must be a dog.
- The = clue between R1C7 and R2C7 means they are the same. R1C7 is a dog, so R2C7 is a dog.
- R1C7 and R1C8 are both dogs, so R1C9 must be a cat (no three in a row).
- R2C7 and R2C8 are both dogs, so R2C6 must be a cat (no three in a row).
- R2C7 and R2C8 are both dogs, so R2C9 must be a cat (no three in a row).
- R1C6 and R2C6 are both cats, so R3C6 must be a dog (no three in a row).
- R1C7 and R2C7 are both dogs, so R3C7 must be a cat (no three in a row).
- R3C7 and R3C8 are both cats, so R3C9 must be a dog (no three in a row).
- Imagine R3C10 were a dog: following the rules from there soon forces a contradiction, so R3C10 must be a cat.
- The = clue between R3C10 and R4C10 means they are the same. R3C10 is a cat, so R4C10 is a cat.
- R3C10 and R4C10 are both cats, so R2C10 must be a dog (no three in a row).
- Imagine R1C10 were a cat: following the rules from there soon forces a contradiction, so R1C10 must be a dog.
- Imagine R6C6 were a cat: following the rules from there soon forces a contradiction, so R6C6 must be a dog.
- Imagine R8C1 were a cat: following the rules from there soon forces a contradiction, so R8C1 must be a dog.
- The = clue between R8C1 and R9C1 means they are the same. R8C1 is a dog, so R9C1 is a dog.
- R8C1 and R9C1 are both dogs, so R7C1 must be a cat (no three in a row).
- R6C1 and R7C1 are both cats, so R5C1 must be a dog (no three in a row).
- Imagine R7C2 were a cat: following the rules from there soon forces a contradiction, so R7C2 must be a dog.
- The = clue between R7C2 and R8C2 means they are the same. R7C2 is a dog, so R8C2 is a dog.
- R8C1 and R8C2 are both dogs, so R8C3 must be a cat (no three in a row).
- R7C2 and R8C2 are both dogs, so R6C2 must be a cat (no three in a row).
- R6C1 and R6C2 are both cats, so R6C3 must be a dog (no three in a row).
- The × clue between R6C3 and R5C3 means they are different. R6C3 is a dog, so R5C3 is a cat.
- R7C2 and R8C2 are both dogs, so R9C2 must be a cat (no three in a row).
- R8C3 and R10C3 are both cats with one square between them, so R9C3 must be a dog.
- Imagine R5C9 were a dog: following the rules from there soon forces a contradiction, so R5C9 must be a cat.
- Imagine R6C8 were a cat: following the rules from there soon forces a contradiction, so R6C8 must be a dog.
- Imagine R6C9 were a cat: following the rules from there soon forces a contradiction, so R6C9 must be a dog.
- R6C9 and R7C9 are both dogs, so R8C9 must be a cat (no three in a row).
- Imagine R7C5 were a cat: following the rules from there soon forces a contradiction, so R7C5 must be a dog.
- Imagine R8C4 were a cat: following the rules from there soon forces a contradiction, so R8C4 must be a dog.
- Row 8 already has its 5 dogs, so R8C5 and R8C6 must be cats.
- R7C6 and R8C6 are both cats, so R9C6 must be a dog (no three in a row).
- Row 8 already has its 5 dogs, so R8C8 must be cats.
- R7C8 and R8C8 are both cats, so R9C8 must be a dog (no three in a row).
- Imagine R4C7 were a dog: following the rules from there soon forces a contradiction, so R4C7 must be a cat.
- R3C7 and R4C7 are both cats, so R5C7 must be a dog (no three in a row).
- Imagine R4C8 were a cat: following the rules from there soon forces a contradiction, so R4C8 must be a dog.
- R4C8 and R6C8 are both dogs with one square between them, so R5C8 must be a cat.
- Column 8 already has its 5 dogs, so R10C8 must be cats.
- R10C7 and R10C8 are both cats, so R10C9 must be a dog (no three in a row).
- Row 10 already has its 5 cats, so R10C10 must be dogs.
- R8C10 and R10C10 are both dogs with one square between them, so R9C10 must be a cat.
- The × clue between R9C10 and R9C9 means they are different. R9C10 is a cat, so R9C9 is a dog.
- Row 9 already has its 5 dogs, so R9C4 and R9C5 must be cats.
- Column 9 already has its 5 dogs, so R4C9 must be cats.
- Imagine R4C4 were a cat: following the rules from there soon forces a contradiction, so R4C4 must be a dog.
- The = clue between R4C4 and R4C5 means they are the same. R4C4 is a dog, so R4C5 is a dog.
- R4C4 and R4C5 are both dogs, so R4C3 must be a cat (no three in a row).
- R4C4 and R4C5 are both dogs, so R4C6 must be a cat (no three in a row).
- R4C3 and R5C3 are both cats, so R3C3 must be a dog (no three in a row).
- Row 4 already has its 5 cats, so R4C1 must be dogs.
- R4C1 and R5C1 are both dogs, so R3C1 must be a cat (no three in a row).
- Row 4 already has its 5 cats, so R4C2 must be dogs.
- Column 6 already has its 5 cats, so R5C6 must be dogs.
- R5C6 and R5C7 are both dogs, so R5C5 must be a cat (no three in a row).
- R5C3 and R5C5 are both cats with one square between them, so R5C4 must be a dog.
- R4C4 and R5C4 are both dogs, so R3C4 must be a cat (no three in a row).
- R4C4 and R5C4 are both dogs, so R6C4 must be a cat (no three in a row).
- Row 3 already has its 5 cats, so R3C2 must be dogs.
- R3C2 and R4C2 are both dogs, so R2C2 must be a cat (no three in a row).
- R3C2 and R4C2 are both dogs, so R5C2 must be a cat (no three in a row).
- Row 3 already has its 5 cats, so R3C5 must be dogs.
- R3C5 and R4C5 are both dogs, so R2C5 must be a cat (no three in a row).
- R2C5 and R2C6 are both cats, so R2C4 must be a dog (no three in a row).
- Row 6 already has its 5 cats, so R6C5 must be dogs.
- Column 2 already has its 5 dogs, so R1C2 must be cats.
- The × clue between R1C2 and R1C1 means they are different. R1C2 is a cat, so R1C1 is a dog.
- Column 1 already has its 5 dogs, so R2C1 must be cats.
- R2C1 and R2C2 are both cats, so R2C3 must be a dog (no three in a row).
- R2C3 and R3C3 are both dogs, so R1C3 must be a cat (no three in a row).
- R1C2 and R1C3 are both cats, so R1C4 must be a dog (no three in a row).
- Row 1 already has its 5 dogs, so R1C5 must be cats.
- Column 3 already has its 5 cats, so R7C3 must be dogs.
- R7C2 and R7C3 are both dogs, so R7C4 must be a cat (no three in a row).
About this puzzle
This 10×10 grid starts with 10 filled squares and 10 = / × clues. It can be solved in 88 steps using a "what if" trial of one square on top of the basic rules.
Start with the clues and the squares already filled in. An = or × next to a known animal gives you its neighbor immediately.
When every square is filled, press Check Answer. The grid is verified against the stored solution and any broken rule is named.