A049639 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.
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, 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, 6, 6, 7, 7, 7, 7, 6, 6, 1, 1, 1, 1, 7, 6, 8, 7, 9, 7, 8, 6, 7, 1, 1
Offset: 0
Examples
Antidiagonals (each starting on row 1): 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. ...
Links
- G. C. Greubel, Table of n, a(n) for the first 50 rows, flattened
Crossrefs
Cf. A049687.
Programs
-
Mathematica
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 *)
Comments