This is one possible solving path. It may be helpful to compile a complete list of the 45 cubes between 1 and 100,000 (from 23 = 8 to 463 = 97336), but we’ll minimise use of such a list here, concentrating on limits for the cube roots instead. It’s useful to note that numbers ending in {2, 3, 7, 8} have cubes that end in {8, 7, 3, 2} respectively, and cubes of other numbers have the same last digit as the number itself.
Clue 7dn gives Y3 and as Y is a cube, say Y = n3, we need n9 to have 5 digits. That is, n is between 100001/9 ≈ 2.8 and 999991/9 ≈ 3.6, so n = 3, Y = 27 and 7dn = 19683. Now 7ac = 2b has to fit 1_ in the grid, so b < 9.5 and the only available cube is b = 8, making 7ac = 16. That makes 24ac = 8 + J for a two-digit answer, and the only remaining cube < 100 is J = 64, making 24ac = 72. Now 23dn = U − 27 for a two-digit answer, so U ≤ 99 + 27 = 126 and the only available cube is U = 125, making 23dn = 98, 15ac = 285 and 2dn = 117.
For 16dn we have i + 64 = 5___, so i is in the range 5000 − 64 = 4936 to 5999 − 64 = 5935; if i = n3 then n is between ∛4936 ≈ 17.03 and ∛5935 ≈ 18.1, so n = 18, i = 5832 and 16dn = 5896. Now 12ac = 5896 − 2E, to match ___6 in the grid, so E must end in 0 or 5; 53 = 125 has already been used and 153 = 3375 (or higher) would make 5896 − 2E negative, so E = 1000 and 12ac = 3896.
6dn = 1000 + L must have four digits. For 9dn we have 1000(t + 1) + L = ___2__7 in the grid, so L ends in 7 and its cube root ends in 3; 33 = 27 is already used and 233 = 12167 is too big, so L = 2197 = 133 and 6dn = 3197. Now 9dn = 1000(t + 1) + 2197 must end in 2197 (using the 2 already in the grid), so t is ≥ (1102197 − 2197)/1000 − 1 = 1099 and ≤ (9992197 − 2197)/1000 − 1 = 9989, always ending in 9, and its cube root, also ending in 9, is between ∛1099 ≈ 10.3 and ∛9989 ≈ 21.5. Thus the cube root can only be 19, making t = 6859 and 9dn = 6862197.
For 22ac we now have y − 750 to fit 9_9_ in the grid, so the cube root of y is between ∛(9090 + 750) ≈ 21.4 and ∛(9999 + 750) ≈ 22.1, namely 22, making y = 10648 and 22ac = 9898.
For 20ac, S − 125 has three digits, so S’s cube root is between ∛(110 + 125) ≈ 6.2 and ∛(999 + 125) ≈ 10.4, ie one of {7, 8, 9} (not 10, because the cube 1000 is already used). We can rule out 9 because 729 + 125 = 604 would make 21dn start with 0, so S is one of {343, 512}. From 12dn, 9F + S = 3___8_, so the cube root of F is between ∛((301081 − 512)/9) ≈ 32.2 and ∛((399989 − 343)/9) ≈ 35.4, ie one of {33, 34, 35}, with F in {35937, 39304, 42875} respectively. Considering the last two digits only, 9F ends in one of {33, 36, 75} and S ends in {12, 43}; the only combination of those that can give a sum of 8_ for the end of 12dn is 75 + 12, corresponding to F = 42875, S = 512, 12dn = 386387 and 20ac = 387.
For 25ac we have D − 539 = 78___ in the grid, so the cube root of D is between ∛(78000 + 539) ≈ 42.8 and ∛(78999 + 539) ≈ 43.01, ie it’s 43, D = 79507 and 25ac = 78968. Now 11ac = 79480 − 2o = 87_ in the grid, so the cube root of o is between ∛((79480 − 879)/2) ≈ 33.999 and ∛((79480 − 870)/2) ≈ 34.0003, ie it’s 34, o = 39304 and 11ac = 872.
For 18dn we have B − 872 = _3_9 in the grid, so B and its cube root end in 1; 113 − 872 = 459 is too small and 313 − 872 = 28919 is too big, so B = 9261 = 213 and 18dn = 8389. Now we have 13dn = e + 13357 = _8_82 in the grid, so e and its cube root end in 5; the cube root is between ∛(18182 − 13357) ≈ 16.9 and ∛(98982 − 13357) ≈ 44.1, ie one of {25, 35}, but 353 = 42875 is already taken by F, so e = 15625 = 253 and 13dn = 28982. Also, 8dn = 9261P + 78608 = 6____7_ in the grid, so P’s cube root is between ∛((6000070 − 78608)/9261) ≈ 8.6 and ∛((6999979 − 78608)/9261) ≈ 9.1, ie it’s 9, P = 729 and 8dn = 6829877. This completes 14ac = 789 in the grid, and its clue is d − 31979, so d = 32768.
For 10ac we have 2T + 1512 = _198 in the grid, so T ends in 3 and its cube root ends in 7. The root is < ∛((9198 − 1512)/2) ≈ 15.7, so it must be 7, with T = 343 and 10ac = 2198. Now 21dn = 1072 − s for 8_6 in the grid, so s and its root end in 6. The root is < ∛(1072 − 806) ≈ 6.4, ie it’s 6, with s = 216 and 21dn = 856, also making 4dn = 89 completing 23ac = 9857.
Now 13ac = 6264 − N = 2_8_ in the grid, so the cube root of N is between ∛(6264 − 2989) ≈ 14.9 and ∛(6264 − 2080) ≈ 16.1, ie one of {15, 16}. The corresponding values for 5dn are {153×216 − 64 = 728936, 163×216 − 64 = 884672}, but the grid has _28___, so N = 3375 = 153, 13ac = 2889 and 5dn = 728936. That completes 17ac = 6383 in the grid and from its clue 9045 − 2l we can get l = 1331. It also completes 19ac = 9836 and from its clue H − 2331 we can get H = 12167.
For 9ac we have I + 3375 = 61_9, so I and its root end in 4 and I ≤ 6199 − 3375 = 2824; 43 = 64 is already used and 243 = 13824 is too big, so I = 2744 = 143 and 9ac = 6119. For 1ac = W + 11334 we have _1_87 in the grid, so W ends in 53 and its root ends in 7. The root is < ∛(91987 − 11334) ≈ 43.2, ie one of {173 = 4913, 273 = 19683, 373 = 50653} (73 = 343 is already taken), of which the only one ending in 53 is W = 50653, making 1ac = 61987.
The grid is now full, as shown here, but we still don’t have the cubes for A, G, O and R. In order of their values, the letters we have so far give {b Y J U s T S P E l L I N i t B y H e d o F W D}, from which “bY JUsT SPElLIN(G) it, By He(A)d oF W(OR)D” would be a reasonable guess, and enough to finish the puzzle. But if we want to confirm the values, we have to test the remaining cubes, which are {1728, 4096, 4913, 8000, 13824, 17576, 19683, 21952, 24389, 27000, 29791, 35937, 46656, 54872, 59319, 64000, 68921, 74088, 85184, 91125, 97336}. From 3dn we know R = O + 9128, and if we add 9128 to each of the remaining cubes the only cube sum we get is 54872 + 9128 = 64000, so O = 54872 and R = 64000. Similarly, 23ac tells us A = 2G + 9857, and plugging the remaining cubes into that gives only G = 4913 and A = 19683.
The message is now confirmed as “bY JUsT SPElLING it, By HeAd oF WORD”. For the first part we need to change each grid digit by spelling it out, ie 1 = one, 2 = two etc. Then we need to replace each of those words by its “head” (first letter) and the result is a grid full of real words.