Sator Squares are cool elegant word puzzles. They can be read left to right, top to bottom, right to left, and bottom to top.
Making them is a fun (& time consuming) challenge. My goal with this project was to find an algorithmic way of finding/constructing SATOR squares where you could select a palindrome and the algorithm would build a Sator square around it.
an approach
in order to do that, we need to do a series of operations
select the size of the square (n)
search the dictionary to find palindromes and heteropalindromes of length = n; this is the complete set of words that can be used to construct the Sator square.
choose from the list a palidrome to place in the center
T
E
T
E
N
E
T
E
T
place heropalidromes that have overlapping letters into adjacent squares, moving outward from the center or inwards from the outside are both possible
R
O
T
A
S
E
A
T
E
N
E
T
E
O
T
R
R
O
T
A
S
O
E
A
T
E
N
E
T
A
E
O
S
A
T
O
R
repeat until the square is complete
R
O
T
A
S
O
P
E
R
A
T
E
N
E
T
A
R
E
P
O
S
A
T
O
R
algorithm
identify heteropalindromes (& the subset that are true palindromes)