login

Year-end appeal: Please make a donation to the OEIS Foundation to support ongoing development and maintenance of the OEIS. We are now in our 61st year, we have over 378,000 sequences, and we’ve reached 11,000 citations (which often say “discovered thanks to the OEIS”).

Number of scalene triangles, distinct up to congruence, on an n X n grid (or geoboard).
3

%I #23 May 28 2021 20:54:11

%S 0,0,3,18,57,137,280,517,863,1368,2069,3007,4218,5774,7704,10109,

%T 13025,16523,20671,25567,31274,37891,45529,54213,64082,75320,87901,

%U 102014,117736,135217,154606,176024,199502,225290,253485,284305,317811,354282,393618,436202,482332

%N Number of scalene triangles, distinct up to congruence, on an n X n grid (or geoboard).

%H Eric Weisstein's World of Mathematics, <a href="http://mathworld.wolfram.com/Geoboard.html">Geoboard</a>.

%H Eric Weisstein's World of Mathematics, <a href="http://mathworld.wolfram.com/ScaleneTriangle.html">Scalene Triangle</a>.

%F a(n) = A028419(n) - A189978(n).

%t q[n_] :=

%t Module[{sqDist, t0, t1, t2, t3},

%t (*Squared distances*)

%t sqDist = {p_,q_} :> (Floor[p/n] - Floor[q/n])^2 + (Mod[p, n] - Mod[q, n])^2;

%t (*Triads of points*)

%t t0 = Subsets[Range[0, n^2 - 1], {3, 3}];

%t (* Exclude collinear vertices *)

%t t1 = Select[t0,

%t Det[Map[{Floor[#/n], Mod[#, n], 1} &, {#[[1]], #[[2]], #[[

%t 3]]}]] != 0 &];

%t (*Calculate sides*)

%t t2 = Map[{#,

%t Sort[{{#[[2]], #[[3]]}, {#[[3]], #[[1]]}, {#[[1]], #[[2]]}} /.

%t sqDist]} &, t1];

%t (*Exclude not-scalenes*)

%t t2 = Select[

%t t2, #[[2, 1]] != #[[2, 2]] && #[[2, 2]] != #[[2, 3]] && #[[2,

%t 3]] != #[[2, 1]] &];

%t (* Find groups of congruent triangles *)

%t t3 = GatherBy[Range[Length[t2]], t2[[#, 2]] &];

%t Return[Length[t3]];

%t ];

%t Map[q[#] &, Range[10]] (* _César Eliud Lozada_, Mar 26 2021 *)

%Y Cf. A028419, A189978.

%K nonn

%O 1,3

%A _Martin Renner_, May 08 2011