Cats & Dogs #297: 10x10 Grid Puzzle (Hard)
hardTap a square: 🐱 cat → 🐶 dog → clear
🐱 5 cats and 🐶 5 dogs in every row and column
= same × different
Fill the 10x10 grid with cats and dogs so that every row and every column has exactly 5 of each, and never more than two of the same animal side by side.
- 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 R1C6 and R1C7 means they are different. R1C6 is a dog, so R1C7 is a cat.
- The = clue between R4C2 and R4C1 means they are the same. R4C2 is a dog, so R4C1 is a dog.
- R1C7 and R1C8 are both cats, so R1C9 must be a dog (no three in a row).
- R4C1 and R4C2 are both dogs, so R4C3 must be a cat (no three in a row).
- The × clue between R4C3 and R3C3 means they are different. R4C3 is a cat, so R3C3 is a dog.
- R1C3 and R3C3 are both dogs with one square between them, so R2C3 must be a cat.
- The = clue between R2C3 and R2C2 means they are the same. R2C3 is a cat, so R2C2 is a cat.
- R2C2 and R2C3 are both cats, so R2C1 must be a dog (no three in a row).
- R2C2 and R2C3 are both cats, so R2C4 must be a dog (no three in a row).
- R2C4 and R2C5 are both dogs, so R2C6 must be a cat (no three in a row).
- The = clue between R2C6 and R2C7 means they are the same. R2C6 is a cat, so R2C7 is a cat.
- R2C6 and R2C7 are both cats, so R2C8 must be a dog (no three in a row).
- R2C1 and R4C1 are both dogs with one square between them, so R3C1 must be a cat.
- R1C7 and R2C7 are both cats, so R3C7 must be a dog (no three in a row).
- R3C7 and R3C9 are both dogs with one square between them, so R3C8 must be a cat.
- R1C9 and R3C9 are both dogs with one square between them, so R2C9 must be a cat.
- R9C10 and R10C10 are both cats, so R8C10 must be a dog (no three in a row).
- Row 2 already has its 5 cats, so R2C10 must be dogs.
- Imagine R1C1 were a dog: following the rules from there soon forces a contradiction, so R1C1 must be a cat.
- The = clue between R1C1 and R1C2 means they are the same. R1C1 is a cat, so R1C2 is a cat.
- R1C2 and R2C2 are both cats, so R3C2 must be a dog (no three in a row).
- R3C2 and R3C3 are both dogs, so R3C4 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).
- R5C2 and R5C4 are both cats with one square between them, so R5C3 must be a dog.
- R3C4 and R5C4 are both cats with one square between them, so R4C4 must be a dog.
- Imagine R1C10 were a cat: following the rules from there soon forces a contradiction, so R1C10 must be a dog.
- R1C10 and R2C10 are both dogs, so R3C10 must be a cat (no three in a row).
- Imagine R4C8 were a dog: following the rules from there soon forces a contradiction, so R4C8 must be a cat.
- The × clue between R4C8 and R4C9 means they are different. R4C8 is a cat, so R4C9 is a dog.
- The × clue between R4C9 and R4C10 means they are different. R4C9 is a dog, so R4C10 is a cat.
- R3C8 and R4C8 are both cats, so R5C8 must be a dog (no three in a row).
- R3C9 and R4C9 are both dogs, so R5C9 must be a cat (no three in a row).
- The = clue between R5C9 and R6C9 means they are the same. R5C9 is a cat, so R6C9 is a cat.
- R5C9 and R6C9 are both cats, so R7C9 must be a dog (no three in a row).
- R7C9 and R9C9 are both dogs with one square between them, so R8C9 must be a cat.
- R3C10 and R4C10 are both cats, so R5C10 must be a dog (no three in a row).
- Column 9 already has its 5 dogs, so R10C9 must be cats.
- R10C9 and R10C10 are both cats, so R10C8 must be a dog (no three in a row).
- Imagine R4C5 were a dog: following the rules from there soon forces a contradiction, so R4C5 must be a cat.
- Imagine R5C5 were a cat: following the rules from there soon forces a contradiction, so R5C5 must be a dog.
- Imagine R6C5 were a dog: following the rules from there soon forces a contradiction, so R6C5 must be a cat.
- The = clue between R6C5 and R7C5 means they are the same. R6C5 is a cat, so R7C5 is a cat.
- R6C5 and R7C5 are both cats, so R8C5 must be a dog (no three in a row).
- Imagine R8C4 were a dog: following the rules from there soon forces a contradiction, so R8C4 must be a cat.
- Imagine R7C4 were a cat: following the rules from there soon forces a contradiction, so R7C4 must be a dog.
- Imagine R7C8 were a dog: following the rules from there soon forces a contradiction, so R7C8 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 R1C4 were a dog: following the rules from there soon forces a contradiction, so R1C4 must be a cat.
- Row 1 already has its 5 cats, so R1C5 must be dogs.
- R1C5 and R2C5 are both dogs, so R3C5 must be a cat (no three in a row).
- R3C4 and R3C5 are both cats, so R3C6 must be a dog (no three in a row).
- Imagine R7C7 were a cat: following the rules from there soon forces a contradiction, so R7C7 must be a dog.
- Imagine R5C1 were a dog: following the rules from there soon forces a contradiction, so R5C1 must be a cat.
- Imagine R4C6 were a dog: following the rules from there soon forces a contradiction, so R4C6 must be a cat.
- R4C5 and R4C6 are both cats, so R4C7 must be a dog (no three in a row).
- R3C7 and R4C7 are both dogs, so R5C7 must be a cat (no three in a row).
- Row 5 already has its 5 cats, so R5C6 must be dogs.
- Imagine R6C4 were a cat: following the rules from there soon forces a contradiction, so R6C4 must be a dog.
- Column 4 already has its 5 dogs, so R9C4 must be cats.
- Imagine R6C6 were a dog: following the rules from there soon forces a contradiction, so R6C6 must be a cat.
- The = clue between R6C6 and R7C6 means they are the same. R6C6 is a cat, so R7C6 is a cat.
- R6C5 and R6C6 are both cats, so R6C7 must be a dog (no three in a row).
- R6C6 and R7C6 are both cats, so R8C6 must be a dog (no three in a row).
- R8C5 and R8C6 are both dogs, so R8C7 must be a cat (no three in a row).
- R8C7 and R8C9 are both cats with one square between them, so R8C8 must be a dog.
- R8C8 and R10C8 are both dogs with one square between them, so R9C8 must be a cat.
- Imagine R6C1 were a dog: following the rules from there soon forces a contradiction, so R6C1 must be a cat.
- The = clue between R6C1 and R6C2 means they are the same. R6C1 is a cat, so R6C2 is a cat.
- R6C1 and R6C2 are both cats, so R6C3 must be a dog (no three in a row).
- R5C2 and R6C2 are both cats, so R7C2 must be a dog (no three in a row).
- R7C1 and R7C2 are both dogs, so R7C3 must be a cat (no three in a row).
- The × clue between R7C3 and R8C3 means they are different. R7C3 is a cat, so R8C3 is a dog.
- Row 6 already has its 5 cats, so R6C10 must be dogs.
- R5C10 and R6C10 are both dogs, so R7C10 must be a cat (no three in a row).
- Row 8 already has its 5 dogs, so R8C1 and R8C2 must be cats.
- Column 1 already has its 5 cats, so R9C1 and R10C1 must be dogs.
- Column 2 already has its 5 cats, so R9C2 must be dogs.
- The × clue between R9C2 and R9C3 means they are different. R9C2 is a dog, so R9C3 is a cat.
- R9C3 and R9C4 are both cats, so R9C5 must be a dog (no three in a row).
- R8C5 and R9C5 are both dogs, so R10C5 must be a cat (no three in a row).
- The = clue between R10C5 and R10C6 means they are the same. R10C5 is a cat, so R10C6 is a cat.
- R10C5 and R10C6 are both cats, so R10C7 must be a dog (no three in a row).
- Column 2 already has its 5 cats, so R10C2 must be dogs.
- R10C1 and R10C2 are both dogs, so R10C3 must be a cat (no three in a row).
- Column 6 already has its 5 cats, so R9C6 must be dogs.
- R9C5 and R9C6 are both dogs, so R9C7 must be a cat (no three in a row).
About this puzzle
This 10×10 grid starts with 12 filled squares and 15 = / × clues. It can be solved in 86 steps using a "what if" trial of one square on top of the basic rules.
Watch for a gap: if the squares on either side of an empty square match, the empty one must be different.
Stuck? Open the step-by-step solution below -- each step names the squares involved, so you can use it as a hint and finish the puzzle yourself.