The highlighted rows and columns are square numbers containing all of the digits 1 to 9.

Though it wasn’t required for solving the puzzle, the four cells enclosed by the highlighted lines contained the digits {1, 4, 7, 9}. These are the only possible values that result from successively adding up the digits of a square number until a single digit is reached. For example, the sum of the digits of 289 is 19, the sum of the digits of 19 is 10, and the sum of the digits of 10 is 1. For the highlighted square numbers, the result is always 9 because the digits 1 to 9 add up to 45.

This is one possible solution path. The squares in the triples can’t contain 0 or a repeated digit; the only ones with two digits are {16, 25, 36, 49, 64, 81} and the only three-digit examples are {169, 196, 256, 289, 324, 361, 529, 576, 625, 729, 784, 841, 961}.

All 12 of the triples’ squares appear as grid entries. In particular, (J, K, L) are (1ac, 9ac, 15ac), which means there’s no repeated digit in 1dn = 7X. From 18ac we know that A > X, so X isn’t 81; of the five other possible values for X, four give a repeated digit in 7X, which leaves **29ac = X = 25** and **1dn = 175**. Then the only square that fits at 1ac is **J = 16**. As 9ac (K) starts with 7, it must be one of {729, 784}, and 15ac (L, starting with 5) must be a permutation of {5, 3, 4, 8} or {5, 2, 3, 9} respectively. As a square, L must end with 4 or 9, so it’s in the range [5239, 5834] and its square root is between approximately 72.4 and 76.4; the only integer in that range whose square ends with 4 or 9 is 73, so **15ac = L = 5329** and **9ac = K = 784**. This completes **2dn = 683**, which is prime as expected.

As 44dn = 5 × 19dn has two digits, 19dn must be < 20, so 18ac = A − 25 ends with 1, which means A ends with 6, forcing **49ac = A = 36** (as 16 is already taken), which gives **18ac = 11** and **20ac = 252**, completing **10dn = 422**.

As 43ac is a prime, it ends in one of {1, 3, 7, 9}, which is also the first digit of 44dn = 5 × 19dn, so 44dn must be one of {70, 75, 90, 95} with 19dn being one of {14, 15, 18, 19}. From the grid, 40dn = 19dn + Y ends with 6, and as Y is a square (ending in one of {1, 4, 5, 6, 9}), 19dn ends with one of {0, 1, 2, 5, 7}. The only value that satisfies both constraints is **19dn = 15**, making **44dn = 75**.

Now 25ac (Q) starts with 5, so it’s one of {529, 576}. That gives {59, 56} respectively for 21dn = 48ac − 36, so 48ac is one of {95, 92}. From the clue, 16dn is even, so 37ac is even, and as 48ac is a multiple of 37ac it must also be even, so **48ac = 92**, making **21dn = 56** and **25ac = Q = 576**. As 92 = 2×2×23, its only two-digit factors are {23, 46, 92}, so **37ac = 46** (even, and not the same as 48ac). That gives 4 for the middle digit of 32dn (Y), and the only suitable square is **32dn = Y = 841** (completing **43ac = 17**, prime as expected), which makes **45ac = 795** and **40dn = 856**.

Now 39dn is _93, a multiple of 43ac = 17, so the multiplier (_93/17) must end with 9. The only one that fits is 29, giving **39dn = 493**.

From the grid, 10dn = 422. As 33ac is the sum of two two-digit numbers, it’s in the range [101, 199], so 38dn = 10dn − 33ac is in the range [223, 321]. From the grid, 38ac is then either 2_48 or 3_48 and it’s a multiple of 2A + 2J + 3X = 179. The multiplier must end in 2 and it’s between 2048 / 179 ≈ 11.4 and 3948 / 179 ≈ 22.1, so it’s one of {12, 22}; 22 × 179 = 3938 doesn’t fit, so **38ac = 2148** (12 × 179). That limits 38dn to {229, 239, ..., 299} and 33ac to {123, 133, ..., 193} and makes **34dn = 317** (prime as expected).

From 12dn we know that B > Q, and B can’t contain 3 or 6 (because A is 36), so it’s one of {729, 784, 841}. As 784 and 841 are already used, **17dn = B = 729**, which makes **12dn = 153** (completing **22ac = 32**). That means 16ac = P − 36 ends in 5, so P ends in 1, ie **11ac = P = 81**, which makes **16ac = 45**, **27ac = 898**, **4dn = 829**, **7dn = 35** and **14dn = 1273**.

From the grid, 27dn and 28dn both start with 8, so 33ac = 27dn + 28dn is in the range [161, 177]; from the grid it ends with 3, so 33ac is one of {163, 173}. If 33ac were 163 then 27dn would be 86 and 28dn would be 163 − 86 = 77, which doesn’t fit; therefore **33ac = 173**, **27dn = 87** and **28dn = 86**, which also gives **38dn = 249**.

We have A = 36 and B = 729, so 30dn = C uses the digits {1, 4, 5, 8} and from the grid it starts with 5, so as a square it ends in one of {1, 4}; 46ac ends with the same digit and starts with 8 (the last digit of 31ac) and can’t be 81, which is already used, so **46ac = 84** and **31ac = 48**. C is one of {5184, 5814} but 31ac = 48 isn’t a factor of 5814, so **30dn = C = 5184**. As 26dn = 17ac − 31ac and 17ac ends with 2 (from the grid), 26dn ends with 4, ie **26dn = 744**, which makes **17ac = 792**. Then **6ac = 63** and **3ac = 98**.

We have X = 25 and Y = 841, so 8dn = Z is a permutation of {3, 6, 7, 9}. From the grid we know the third digit is 9, so to be a square it has to end in 6 and it’s one of {3796, 7396} (completing **23ac = 67**, prime as expected). That makes 13ac, which is a multiple of 75 − 16 = 59, one of {531, 571}; 571/59 isn’t an integer, so **13ac = 531** and **8dn = Z = 7396**.

We have P = 81 and Q = 576, so 24dn = R is a permutation of {2, 3, 4, 9}. From the grid we have _2__, and to be a square it must end in 4 or 9, so R is one of {3249, 3294, 4239, 9234}. From the clue for 16dn, R = 16dn/2 − C − L − Z, and from the grid 16dn is 42_16, so the maximum for R is 42916/2 − 5184 − 5329 − 7396 = 3549, which limits R to {3249, 3294}. Its square root is between 50 and 60 (as R is between 2500 and 3600) and must end in one of {2, 3, 7, 8}; the only one that works is 57, giving **24dn = R = 3249**, which makes **16dn = 42316**.

From the grid we now have **36ac = 414**, which factorises as 2×3×3×23, so the only factor that fits 6_ for 35ac is **35ac = 69**.

From the grid, the prime at 41ac is now 98_; the last digit can’t be 1 or 7 because they would make it a multiple of 3, so the prime at 42dn starts with 3 or 9. But 8ac = 7_ is a multiple of 42dn, so the first digit can only be 3 (with **41ac = 983**) and the possible primes are {31, 37}. It can’t be 31 because that has no multiples in the 70s, so **42dn = 37** and **8ac = 74**.

47ac is a factor of 42316, matching 7_. It can’t be 70 or 75 (which don’t have multiples ending in 6) or 74 (already used at 8ac); of the rest, only 71 divides evenly, so **47ac = 71**.

From the grid 5dn is _8; it’s a factor of both 17ac = 792 = 2×2×2×3×3×11 and 30dn = 5184 = 2×2×2×2×2×2×3×3×3×3, so it must be some combination of the factors of 2×2×2×3×3, ie, a factor of 72. The only matching value is **5dn = 18**, which completes the grid.

Of the grid’s rows and columns, only the 6th and 9th in each direction consist of the digits 1 to 9 once each. They are also the only rows and columns that are nine-digit squares, so they’re doubly thematic.