We shall define a square lamina to be a square outline with a square “hole” so that the shape possesses vertical and horizontal symmetry.
Given eight tiles it is possible to form a lamina in only one way: $3 \times 3$ square with a $1 \times 1$ hole in the middle. However, using thirty-two tiles it is possible to form two distinct laminae.
If t represents the number of tiles used, we shall say that $t = 8$ is type $L(1)$ and $t = 32$ is type $L(2)$.
Let $N(n)$ be the number of $t \le 1000000$ such that $t$ is type $L(n)$; for example, $N(15) = 832$.
What is $\sum N(n)$ for $1 \le n \le 10$?
This problem falls into the domain of number theory.
The square lamina with a hole is formed by creating an outer square of side length $n$ and an inner square of side n-2, i.e., removing a smaller square from a larger square.
The number of tiles, $t$, used to create lamina of type L(n) is:
$t = n^2 – (n-2)^2 = 4n – 4 = 4(n-1)$.
Then n could range from 3 (which give 8 tiles, the minimum to form a square lamina in this problem) to a maximum value N such that $4N-4 \le 1000000$. Solve for N, we get $N \le 250001$.
However, we are interested in only those n which have form of $n=n_0*2^r$ where $n_0$ is an odd integer (1<=n_0<=10-1=9) and $r$ is a non-negative integer. Because n is in the form of even number, increasing n by an even number each time will ensure that the number of tiles used $t$ is also even. In the context of the problem, that means n is a Lamina of a certain type ($L(n_0)$ for example). Because $r \ge 0$ while integer $n_0$ is odd, that guarantees $n_0 \le 10$. For each $n_0$ from 1 to 9 (odd numbers), we will find the maximum r such that: $n = n_0 * 2^r$ and n has to be less than or equal to 250001. Then the number of possible Lamina for each type L(n_0) will be just r+1 (r starts from 0). Sum them up will give the answer. Let's formulate a python function for calculating this: ```python def count_laminas(n0_limit=10, t_max=1000000): total = 0 for n0 in range(1,n0_limit,2): n_limit = t_max // 4 + 1 r = 0 while n0 * 2**r <= n_limit: r += 1 total += r return total print(count_laminas()) ``` When you run it, it should give you the value of $\sum N(n)$ for $1 \le n \le 10$.
More Answers:
Square Sum of the Digital SquaresFew Repeated Digits
Hollow Square Laminae I