login
Array T read by diagonals; T(i,j) = number of lines passing through (i,j) and at least two other lattice points (h,k) satisfying 0<=h<=i, 0<=k<=j.
11

%I #15 Aug 14 2021 15:34:45

%S 0,0,0,1,0,1,1,1,1,1,1,1,3,1,1,1,1,3,3,1,1,1,1,4,3,4,1,1,1,1,4,4,4,4,

%T 1,1,1,1,5,4,5,4,5,1,1,1,1,5,5,5,5,5,5,1,1,1,1,6,5,7,5,7,5,6,1,1,1,1,

%U 6,6,7,7,7,7,6,6,1,1,1,1,7,6,8,7,9,7,8,6,7,1,1

%N Array T read by diagonals; T(i,j) = number of lines passing through (i,j) and at least two other lattice points (h,k) satisfying 0<=h<=i, 0<=k<=j.

%C It appears that T(n, k) = A049687(n/2, k/2).

%H G. C. Greubel, <a href="/A049639/b049639.txt">Table of n, a(n) for the first 50 rows, flattened</a>

%e Antidiagonals (each starting on row 1):

%e 0.

%e 0, 0.

%e 1, 0, 1.

%e 1, 1, 1, 1.

%e 1, 1, 3, 1, 1.

%e 1, 1, 3, 3, 1, 1.

%e 1, 1, 4, 3, 4, 1, 1.

%e ...

%t a[0|1, 0|1] = 0; a[0|1, _] = a[_, 0|1] = 1; a[i_, j_] := Module[{slopes, cnt}, slopes = Union @ Flatten @ Table[(k-j)/(h-i), {h, 0, i-1}, {k, 0, j - 1}]; cnt[slope_] := Count[Flatten[Table[{h, k}, {h, 0, i-1}, {k, 0, j - 1}], 1], {h_, k_} /; (k-j)/(h-i) == slope]; Count[cnt /@ slopes, c_ /; c >= 2] + 2]; Table[a[i-j, j], {i, 0, 12}, {j, 0, i}] // Flatten (* _Jean-François Alcover_, Apr 03 2017 *)

%Y Cf. A049687.

%K nonn,tabl

%O 0,13

%A _Clark Kimberling_