Cats & Dogs #205: 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 R2C6 and R3C6 means they are different. R2C6 is a cat, so R3C6 is a dog.
- R1C8 and R1C10 are both cats with one square between them, so R1C9 must be a dog.
- The = clue between R1C9 and R2C9 means they are the same. R1C9 is a dog, so R2C9 is a dog.
- R1C9 and R2C9 are both dogs, so R3C9 must be a cat (no three in a row).
- Imagine R3C3 were a cat: following the rules from there soon forces a contradiction, so R3C3 must be a dog.
- Imagine R3C4 were a dog: following the rules from there soon forces a contradiction, so R3C4 must be a cat.
- Imagine R3C5 were a cat: following the rules from there soon forces a contradiction, so R3C5 must be a dog.
- The = clue between R3C5 and R4C5 means they are the same. R3C5 is a dog, so R4C5 is a dog.
- R3C5 and R3C6 are both dogs, so R3C7 must be a cat (no three in a row).
- The = clue between R3C7 and R4C7 means they are the same. R3C7 is a cat, so R4C7 is a cat.
- R3C7 and R3C9 are both cats with one square between them, so R3C8 must be a dog.
- 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).
- R2C2 and R2C4 are both dogs with one square between them, so R2C3 must be a cat.
- R2C5 and R2C6 are both cats, so R2C7 must be a dog (no three in a row).
- R2C7 and R2C9 are both dogs with one square between them, so R2C8 must be a cat.
- R3C5 and R4C5 are both dogs, so R5C5 must be a cat (no three in a row).
- The = clue between R5C5 and R6C5 means they are the same. R5C5 is a cat, so R6C5 is a cat.
- R6C5 and R6C6 are both cats, so R6C4 must be a dog (no three in a row).
- R6C5 and R6C6 are both cats, so R6C7 must be a dog (no three in a row).
- R3C7 and R4C7 are both cats, so R5C7 must be a dog (no three in a row).
- R5C7 and R6C7 are both dogs, so R7C7 must be a cat (no three in a row).
- R7C7 and R9C7 are both cats with one square between them, so R8C7 must be a dog.
- Column 7 already has its 5 dogs, so R10C7 must be cats.
- Imagine R3C2 were a dog: following the rules from there soon forces a contradiction, so R3C2 must be a cat.
- Imagine R4C9 were a cat: following the rules from there soon forces a contradiction, so R4C9 must be a dog.
- The = clue between R4C9 and R5C9 means they are the same. R4C9 is a dog, so R5C9 is a dog.
- R5C7 and R5C9 are both dogs with one square between them, so R5C8 must be a cat.
- R4C9 and R5C9 are both dogs, so R6C9 must be a cat (no three in a row).
- Imagine R6C8 were a cat: following the rules from there soon forces a contradiction, so R6C8 must be a dog.
- Imagine R7C8 were a cat: following the rules from there soon forces a contradiction, so R7C8 must be a dog.
- R6C8 and R7C8 are both dogs, so R8C8 must be a cat (no three in a row).
- Imagine R7C9 were a dog: following the rules from there soon forces a contradiction, so R7C9 must be a cat.
- R6C9 and R7C9 are both cats, so R8C9 must be a dog (no three in a row).
- Column 9 already has its 5 dogs, so R9C9 must be cats.
- R9C7 and R9C9 are both cats with one square between them, so R9C8 must be a dog.
- Column 9 already has its 5 dogs, so R10C9 must be cats.
- R10C7 and R10C9 are both cats with one square between them, so R10C8 must be a dog.
- Column 8 already has its 5 dogs, so R4C8 must be cats.
- R4C7 and R4C8 are both cats, so R4C6 must be a dog (no three in a row).
- R4C5 and R4C6 are both dogs, so R4C4 must be a cat (no three in a row).
- R3C4 and R4C4 are both cats, so R5C4 must be a dog (no three in a row).
- R5C4 and R6C4 are both dogs, so R7C4 must be a cat (no three in a row).
- R3C6 and R4C6 are both dogs, so R5C6 must be a cat (no three in a row).
- R5C6 and R6C6 are both cats, so R7C6 must be a dog (no three in a row).
- Imagine R5C1 were a cat: following the rules from there soon forces a contradiction, so R5C1 must be a dog.
- The = clue between R5C1 and R6C1 means they are the same. R5C1 is a dog, so R6C1 is a dog.
- R5C1 and R6C1 are both dogs, so R4C1 must be a cat (no three in a row).
- R5C1 and R6C1 are both dogs, so R7C1 must be a cat (no three in a row).
- Imagine R5C3 were a dog: following the rules from there soon forces a contradiction, so R5C3 must be a cat.
- Imagine R4C3 were a cat: following the rules from there soon forces a contradiction, so R4C3 must be a dog.
- Imagine R7C10 were a cat: following the rules from there soon forces a contradiction, so R7C10 must be a dog.
- Imagine R8C10 were a dog: following the rules from there soon forces a contradiction, so R8C10 must be a cat.
- R8C10 and R10C10 are both cats with one square between them, so R9C10 must be a dog.
- Imagine R5C2 were a cat: following the rules from there soon forces a contradiction, so R5C2 must be a dog.
- Row 5 already has its 5 dogs, so R5C10 must be cats.
- The × clue between R5C10 and R6C10 means they are different. R5C10 is a cat, so R6C10 is a dog.
- Row 6 already has its 5 dogs, so R6C3 must be cats.
- R5C3 and R6C3 are both cats, so R7C3 must be a dog (no three in a row).
- The × clue between R7C3 and R7C2 means they are different. R7C3 is a dog, so R7C2 is a cat.
- R6C2 and R7C2 are both cats, so R8C2 must be a dog (no three in a row).
- Imagine R1C2 were a cat: following the rules from there soon forces a contradiction, so R1C2 must be a dog.
- Imagine R4C2 were a dog: following the rules from there soon forces a contradiction, so R4C2 must be a cat.
- Row 4 already has its 5 cats, so R4C10 must be dogs.
- Imagine R8C1 were a cat: following the rules from there soon forces a contradiction, so R8C1 must be a dog.
- R8C1 and R8C2 are both dogs, so R8C3 must be a cat (no three in a row).
- Column 3 already has its 5 cats, so R9C3 and R10C3 must be dogs.
- Imagine R1C4 were a cat: following the rules from there soon forces a contradiction, so R1C4 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.
- Column 4 already has its 5 dogs, so R9C4 and R10C4 must be cats.
- Imagine R9C1 were a dog: following the rules from there soon forces a contradiction, so R9C1 must be a cat.
- The = clue between R9C1 and R9C2 means they are the same. R9C1 is a cat, so R9C2 is a cat.
- Row 9 already has its 5 cats, so R9C5 must be dogs.
- The = clue between R9C5 and R10C5 means they are the same. R9C5 is a dog, so R10C5 is a dog.
- Row 9 already has its 5 cats, so R9C6 must be dogs.
- Column 2 already has its 5 cats, so R10C2 must be dogs.
- R10C2 and R10C3 are both dogs, so R10C1 must be a cat (no three in a row).
- Row 10 already has its 5 cats, so R10C6 must be dogs.
- Column 5 already has its 5 dogs, so R1C5 must be cats.
- Column 6 already has its 5 dogs, so R1C6 must be cats.
- Row 1 already has its 5 cats, so R1C1 must be dogs.
- The = clue between R1C1 and R2C1 means they are the same. R1C1 is a dog, so R2C1 is a dog.
- R1C1 and R2C1 are both dogs, so R3C1 must be a cat (no three in a row).
- Row 2 already has its 5 dogs, so R2C10 must be cats.
- R1C10 and R2C10 are both cats, so R3C10 must be a dog (no three in a row).
About this puzzle
This 10×10 grid starts with 11 filled squares and 12 = / × 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.
When every square is filled, press Check Answer. The grid is verified against the stored solution and any broken rule is named.