The formula for triangle numbers is (n(n+1))/2. That means n(n+1) is a triangle number multiplied by two.
If we multiply an by a(n-1) we get aan(n-1), which is a square (aa; no pun intended) multiplied by two times a triangle number (n(n+1) can be turned into n(n-1) by making n=n-1, since n+1 becomes n and n becomes n-1).
A square with 1 row or 1 column removed is 2 equal triangles of (n-1) each.
Any number of the form n(n-1) or multiple of it, has distinguishing properties and can be pick out of a crowd, especially and more easily if the multiple of n(n-1) is a square. (This is a VQC quote. I don't think we actually ever figured out what those properties were). Multiply each entry a[t] at (e,1) by the corresponding entry at (-f,1). These pairs form a series of products. Prime numbers will appear to be special. (More VQC quotes that we don't necessarily understand yet)
If you define n-1 as k, then n(n-1) becomes k(k+1) or twice a triangular number.
So, you're looking for when a series becomes two triangles where every unit of the triangle is a square.
There is a known shortcut to do this between two limiting numbers or range. (Again, don't think we figured out that "known" shortcut)
Importantly, the search is now a calculation with a known shortcut that is at most O(log t). Think about the values in 0,1 and 0,1. (direct quote; not sure if he meant two different cells and this is a typo, or he was being deliberately obtuse again)
Everything that has been discussed points at this solution.
Euler? Euler? (Mispronounced)
One interesting thing about these a.a.n.(n-1) numbers:
-
if you add a.a.n, you'll get a perfect square
-
if you minus a.a.(n-1), you'll get a perfect square too
In cell (0,1) the d values (also the a values in (0,0)) are these:
4, 12, 24, 40, 60, 84, 112, 144
Ignore 4 and 12 for now they're special.
24=2(34)
40=2(45)
60=2(56)
84=2(67)
112=2(78)
144=2(89)
Remember how also if you multiply any cell in column zero by a constant it is the same cell in another row
2 * (0,1,12,4,8,18) = (0,2,24,8,16,36)
So this would be a way to get any factor where the factor is divisible by 2.
So I thought about the values in (0,1)
If we think about these in 0,1 (binary) (double meaning) then we can just bit shift all these numbers over by one (or just divide by two for you newbies) and get every entry higher than 6.
So now we know that n(n-1)a*a MUST exist in column 0
Another related thing to note (pic related), the a values in (-1,2) are equal to 12, 23, 34, 45, 56, 67, 7*8 etc. So our n(n-1) will always appear as an a (and technically also a b) in (-1,2).
Since we can multiply and a[t] in (0, 1) with any number and it will exist in some row, we can multiply our a[t] = (n(n-1) * n(n-1) * a * a)/2 with 2 and it will occur in (0, 2) as a[t] = 2 * (n(n-1) * n(n-1) * a * a) / 2.
In (0, 3) it is a[t] = 3 * n(n-1) * n(n-1) * a * a / 2
In (0, 4) a[t] = 4 * n(n-1) * n(n-1) * a * a / 2 etc.
And again in (0, 5), (0, 6) etc.. It should exist in every single row in column 0.