This is one possible solution path.

There are two entries for property c,
and the only grid numbers that are fourth powers are
1ac and 16dn (both of which have 6 digits).
The only grid numbers that are fifth powers are 1 and 32,
but 1 is already assigned, so 32 has property d;
there’s only one 3-digit fifth power, so **32dn = 243**.
For property a, the only four square grid numbers remaining
are 4dn, 9dn, 25ac and 36dn.
For property e, the values of *n*^{n}
that match grid numbers are {1, 4, 27}
but the first two are already assigned,
so 27dn is the entry for property e;
the next values of *n*^{n} are {256, 3125, ...},
so the only one that fits is **27dn = 256**.

For property q, the first few factorials are
{1, 2, 6, 24, 120, 720, 5040, 40320, ...}, all the rest ending in 0.
Grid number 1 is already assigned,
so the factorial entry must be 2dn, 6ac or 24ac;
but 2dn and 6ac can’t end in 0,
because those cells are the start of another entry,
so **24ac = 5040** is the entry for property q.
For property r, the first few cumulative products of primes
are {2, 6, 30, 210, 2310, 30030, ...},
of which only 2, 6 and 30 are grid numbers, and the rest all end in 0.
But 2dn and 6ac can’t end in 0,
so **30dn = 210** is the entry for property r.

For property j, the first values for 2^{n} − 1
(whether they’re primes or not), where *n* is prime,
are {3, 7, 31, 127, 2047, ...}.
31ac has 2 digits, so there’s no value to fit there,
and 3dn and 7dn both have 3 digits,
so the value 127 must be either 3dn or 7dn.
Using these Mersenne numbers to generate perfect numbers for property n,
the first values of *n*(*n* + 1)/2
are {6, 28, 496, 8128, 2096128, ...};
we need two of them,
so they must be **6ac = 8128** and **28dn = 496**.
For property b, the only unassigned cube entry is 8dn,
which now starts with 2, so **8dn = 216**.

The only triangular numbers that are grid numbers
are {1, 3, 6, 10, 15, 21, 28, 36};
1, 6, 28 and 36 are already assigned,
so the four triangular entries for property g must
be 3dn, 10ac or 10dn, 15ac and 21dn.
That forces **7dn = 127** for the Mersenne prime.
For property k,
the first values for 2^{(2n)} + 1
(whether they’re primes or not) are {3, 5, 17, 257, 65537, ...};
3 is already assigned, so the two Fermat primes must be
5dn (3 digits) and 17dn (5 digits),
so **5dn = 257** and **17dn = 65537**.

For property h, the tetrahedral numbers that are grid numbers are {1, 4, 10, 20, 35}, and the only one of those whose first and last digits add up to an odd number is 10, so either 10ac or 10dn has property h (and the other is triangular as we’ve already established).

For property s, the only grid numbers that are
divisors of their reverses are 11, 22 and 33
(all with a multiplier of 1).
33ac is 35_ and a multiplier of 4 or 9 would make a 4-digit multiple,
so its multiplier must be 1 and **33ac = 353**.
The other two entries both have 4 digits.
The one with a multiplier of 9 must start with 1 and end with 9,
so we have 1ab9×9 = 9ba1;
a×9 must be < 10
(to avoid a “carry” into the thousands column)
so a is 0 or 1, with b being 8 or 7 respectively,
to make the sum of digits a multiple of 9.
1179×9 = 10611 doesn’t work,
so we have 1089×9 = 9801.
The one with a multiplier of 4 must start with 2 (as the multiple is even)
and end with 8, so we have 2ab8×4 = 8ba2;
a×4 must be < 10 (to avoid a carry) so a is 0, 1 or 2;
multiplying the final 8 by 4 gives a carry of 3 (odd),
added to b×4 (even), so digit a must be 1 (odd)
and b×4 must end in 8.
2128×4 = 8512 doesn’t work,
so we have 2178×4 = 8712.
11dn can’t be 1089 because that would make 15ac start with 0,
so **11dn = 2178** and **22dn = 1089**.

For property p, the unassigned grid numbers with consecutive digits
are 12, 23 and 34;
but 34ac is 9_1, which can’t be a run of consecutive digits.
So the two entries of this type are 12ac,
for which we have _21_, making **12ac = 3210**,
and either 23ac or 23dn.

For the triangular number at 15ac we have
1_76 = *n*(*n* + 1)/2,
so *n*(*n* + 1) will end in 52,
and *n* and *n* + 1 are
the integers on either side of the square root of that product.
The limits are about √(2×1176) ≈ 48.5
and √(2×1976) ≈ 62.9,
so *n* is a two-digit number.
For the product to end in 2,
*n* must end in one of {1, 3, 6, 8}.
If *n* is a1, for some digit a,
then *n*(*n* + 1)
= (10a + 1)(10a + 2) = 100a^{2} + 30a + 2,
and for the product to end in 52, 3a must end in 5,
so a is 5 and *n* is 51;
if *n* is a3,
(10a + 3)(10a + 4) = 100a^{2} + 70a + 12,
so 7a ends in 4, a is 2 and *n* is 23;
if *n* is a6,
(10a + 6)(10a + 7) = 100a^{2} + 130a + 42,
so 13a ends in 1, a is 7 and *n* is 76;
if *n* is a8,
(10a + 8)(10a + 9) = 100a^{2} + 170a + 72,
so 17a ends in 8, a is 4 and *n* is 48.
Of the values {23, 48, 51, 76}, only 48 is in range,
so **15ac = 1176** = 48×49/2.

The unassigned grid numbers that fit the formula for
diagonal numbers (property o) are {2, 14, 20, 35};
the unassigned numbers that are the reverse of primes
(property *m*) are {14, 34, 35, 38}.
We need three from each set, so 2dn and 20ac are diagonal numbers,
34ac and 38ac are reversed primes,
and {14ac, 35ac} contains one of each.
A diagonal number (property o) is given by the formula
*n*(*n* − 3)/2 for *n* > 3.
If we replace *n* by *m* + 2,
we have (*m* + 2)(*m* − 1)/2 for *m* > 1,
which is equivalent to (*m*^{2} + *m* − 2)/2
= *m*(*m* + 1)/2 − 1.
Thus a diagonal number is always one less than a triangular number.
The square at 36dn is one of {49, 64, 81},
so 35ac is one of {944, 964, 984};
if 35ac is a diagonal number *m*(*m* + 1)/2 − 1,
then *m* is the integer below one of the roots from
√(2×(944 + 1)) ≈ 43.5 to √(2×(984 + 1)) ≈ 44.4;
but neither 43×44/2 − 1 = 945
nor 44×45/2 − 1 = 989 matches 35ac,
so it isn’t a diagonal number.
Therefore 35ac is a reversed prime and 14ac is a diagonal number.
For the reverse of 35ac,
489 is a multiple of 3 (its digit sum is 21)
and 469 / 7 = 67, so the only prime is 449
and **35ac = 944**, making **36dn = 49**.

38ac is a reversed prime matching _93,
so its first digit must be one of {1, 3, 7, 9}.
It can’t be 393 or 993,
which are obvious multiples of 3 (forwards or backwards);
by dividing by primes up to √391 ≈ 19.8,
we can find 391 = 17×23 isn’t prime,
so **38ac = 793**.

The only properties not fully accounted for so far are
f (sum of different squares),
i (prime) and
l (sum of first *n* non-composites).
18 is still unassigned;
it’s not prime, and
18 = 3^{2} + 3^{2} isn’t the sum of two *different* squares,
so 18ac must be the entry for property l,
and its value is one of {29, 42, 59, 78}.

For property f we now need three entries from {13, 26, 29, 37}, and for property i we need four from {13, 19, 23, 29, 31, 37}, so 26ac has property f, {19dn, 23ac/23dn, 31ac} have property i, and {13ac, 29ac, 37ac} could go either way. 9dn is a square matching 80___, so it’s one of {80089, 80656}, which means 23ac ends in 8 or 5 and can’t be a prime, so 23ac is a run of consecutive digits, one of {45, 65, 78, 98}, and 23dn is a prime.

14ac is a 3-digit diagonal number ending in 7.
For *m*(*m* + 1)/2 − 1 to end in 7,
*m*(*m* + 1) ends in 6 and *m* ends in 2 or 7.
14ac is in the range 107 to 997,
so *m* must be between about √(2×(107 + 1)) ≈ 14.7
and √(2×(997 + 1)) ≈ 44.7,
ie one of {17, 22, 27, 32, 37, 42}.
The only values they give that end in 7 are {377, 527},
so 14ac is one of those.

1ac is a 6-digit fourth power with 2 as the 5th digit.
Of the 14 values from 18^{4} = 104976 to 31^{4} = 923521,
only {130321, 390625, 923521} have the 2 in the right place;
the first two would make 3dn start with 0, so **1ac = 923521**.
3dn is a 3-digit triangular number starting with 3 and ending with 3 or 5,
so for *n*(*n* + 1)/2,
*n* is from about √(2×303) ≈ 24.6
to √(2×395) ≈ 28.1,
and the only matching value is **3dn = 325**,
making **14ac = 527**.
Now 4dn is a 4-digit square matching 5_2_,
so it’s one of {5329, 5625, 5929}.

16dn is the other 6-digit fourth power, starting with 1,
so it’s one of {104976, 130321, 160000, 194481}.
20ac is a 4-digit diagonal number starting with 5 or 9,
with 7 as the third digit and ending in {0, 3, 6, 9};
for any two consecutive numbers *m* and *m* + 1,
their product ends in one of {0, 2, 6},
so *m*(*m* + 1)/2 − 1
can only end in one of {0, 2, 4, 5, 7, 9},
which means 20ac ends in {0, 9} and 16dn is restricted to {104976, 194481}.
If 20ac starts with 5, it’s in the range [5170, 5979]
and *m* is in the neighbourhood of
√(2×(5170+1)) ≈ 101.7 to
√(2×(5979+1)) ≈ 109.4;
the only value that matches is 5670 (from *m* = 106).
If 20ac starts with 9, it’s in the range [9170, 9979]
and *m* is in the neighbourhood of
√(2×(9170+1)) ≈ 135.4 to
√(2×(9979+1)) ≈ 141.3;
the only value that matches is 9179 (from *m* = 135).
Thus 20ac is one of {5670, 9179}.

25ac is a square matching _840_6 or _840_9,
so its square root ends with one of {3, 4, 6, 7}.
If 25ac starts with 1, the root is between
√184006 ≈ 428.96 and √184099 ≈ 429.1,
but 429 doesn’t end with the right digit.
If 25ac starts with 2, the root is between
√284006 ≈ 532.9 and √284099 ≈ 533.01,
so 533 is a possibility.
If 25ac starts with 3, the root is between
√384006 ≈ 619.7 and √384099 ≈ 619.8,
but there are no integers in that range;
similarly, starting with 4 to 8 gives a range with no integers.
If 25ac starts with 9, the root is between
√984006 ≈ 991.97 and √984099 ≈ 992.02,
but 992 doesn’t end with the right digit.
So, the only possibility is **25ac = 284089**,
which makes **9dn = 80089**.

23ac (consecutive digits) is now {78, 98}
and 31ac (prime) is {83, 89},
so 23dn (prime) is one of {783, 789, 983, 989}.
The first two are obvious multiples of 3
and 989 has a repeated digit (outlawed by property i),
so **23dn = 983**, **23ac = 98**
and **31ac = 83**.

26ac is a sum of two squares, matching 52_. Of the 10 possibilities, 523 to 528 each have a (4n − 1) prime factor occurring just once, so they’re not sums of two squares, which leaves 26ac as one of {520, 521, 522, 529}. 19dn is a prime matching _4_3, starting with one of {2, 8, 9} and having {0, 1, 2, 9} for the third digit. Of the 12 combinations, we can eliminate 2423 and 9493 because they have a digit repeated; of the rest, another 5 are obvious multiples of 3, which leaves 2413 = 19×127, 8413 = 47×179 and the primes {8423, 9403, 9413}. That narrows 26ac to {520, 521, 522} and 18ac to {29, 59, 78}.

34ac is a reversed prime matching 9_1.
The middle digit can’t be 2, 5, or 8,
or it would be a multiple of 3 in both directions.
Of the other possibilities,
{911, 941, 971, 991} are themselves primes.
Of the remaining reverses, 169 is 13^{2}
but {109, 139} are primes, so 34ac is one of {901, 931}.
21dn is a 5-digit triangular number starting with 12 or 62,
with 0 or 3 for the fourth digit.
If it starts with 12,
*n* and *n* + 1 straddle a square root from
√(2×12100) ≈ 155.6 to √(2×12939) ≈ 160.9;
the only value that fits is *n* = 157, giving 12403;
if 21dn starts with 62,
*n* and *n* + 1 straddle a root from
√(2×62100) ≈ 352.4 to √(2×62939) ≈ 354.8;
the only value that fits is *n* = 354, giving 62835;
so 21dn is one of {12403, 62835}.

10ac (__2_5, with the fourth digit one of {3, 6, 9})
and 10dn are between them a triangular number and a tetrahedral number.
If 10ac is triangular then 10dn is tetrahedral
with the sum of first and last digits being odd,
which only allows 56, so 10ac would be 5_2_5.
Then *n*(*n* + 1) would end with 0,
so *n* would end with {0, 4, 5, 9} and be in the neighbourhood of
√(2×50235) ≈ 316.97 to √(2×59295) ≈ 344.4,
ie one of {319, 320, 324, 325, 329, 330, 334, 335, 339, 340, 344}.
None of these gives a triangular number that fits 10ac,
so 10ac is not triangular and must be tetrahedral,
while 10dn is triangular.
For the sum of first and last digits to be odd,
10ac must start with an even digit,
so 10dn is one of {21, 28, 45, 66} and 10ac starts with {2, 4, 6}.

For a tetrahedral number *n*(*n* + 1)(*n* + 2)/6 to end in 5,
*n*(*n* + 1)(*n* + 2) must be 30 × (an odd number),
so two of the three factors must be odd (meaning *n* is odd)
and one of them must be a multiple of 5;
that can only happen when *n* ends in 3, 5 or 9.
If 10ac starts with 6 then *n* is in the neighbourhood of
∛(6×60235) ≈ 71.2 to ∛(6×69295) ≈ 74.6,
ie only 73, but that gives 67525, which doesn’t fit 10ac.
If 10ac starts with 4 then *n* is in the neighbourhood of
∛(6×40235) ≈ 62.3 to ∛(6×49295) ≈ 66.6,
ie one of {63, 65}, but neither gives a value that fits 10ac.
Therefore 10ac starts with 2 and *n* is in the neighbourhood of
∛(6×20235) ≈ 49.5 to ∛(6×29295) ≈ 56.02,
ie one of {49, 53, 55}, of which only 53 gives a value that fits.
So **10ac = 26235**.

That forces **4dn = 5329**, **20ac = 9179**,
**16dn = 194481**, **21dn = 12403**,
**29ac = 424** (therefore a sum of squares, not prime)
and **34ac = 901**.

Now 2dn is a diagonal number matching 26__ and ending in {2, 5, 7}.
For *m*(*m* + 1)/2 − 1,
*m* is in the neighbourhood of
√(2×(2602+1)) ≈ 72.2 and √(2×(2697+1)) ≈ 73.5,
so *m* = 72 and **2dn = 2627**,
which makes **18ac = 78**.
Now 13ac ends in 2, so it’s not a prime and must be a sum of squares,
which leaves 37ac (_6301) as the remaining prime.
As it mustn’t have a repeated digit,
and the digit sum can’t be a multiple of 3,
the first digit must be one of {4, 7, 9}.
After a bit of labour we can find
76301 = 41×1861 and 96301 = 23×53×79,
so **37ac = 46301**.

10dn (triangular) is {21, 28},
so 13ac (sum of squares) is one of {12, 82}.
The only non-zero squares < 12 are {1, 4, 9},
no two of which add up to 12,
so **13ac = 82** = 2×41
and **10dn = 28**.
Finally, 19dn (prime) is now one of {8403, 8413, 8423};
8403 = 3×2801 and 8413 = 47×179,
so **19dn = 8423** and **26ac = 522**,
to complete the grid.