This is a front-end for the Online Encyclopedia of Integer Sequences, made by Christian Perfect. The idea is to provide OEIS entries in non-ancient HTML, and then to think about how they're presented visually. The source code is on GitHub.
%I A214850 #43 Apr 02 2017 00:23:26 %S A214850 2,4,2,4,6,2,4,6,8,12,18,2,4,8,2,4,6,2,4,6,8,12,2,4,8,2,4,6,8,12,2,4, %T A214850 6,12,2,4,8,10,20,22,2,4,6,8,2,4,6,12,18,2,4,8,16,2,4,6,2,4,6,8,12,16, %U A214850 18,24,2,4,2,4,6,2,4,6,8,12,18,2,4,8,2,4,6 %N A214850 3x+1 groups: irregular triangle read by rows: row n gives all the numbers p <= A075684(n)+1 such that {T(2n+1,k) /pZ} is a multiplicative finite group, where T(2n+1,k) is the reduced trajectory of the Collatz problem whose elements are all odd. %C A214850 We introduce the structure of a finite group in order to give a possible way to classify the Collatz trajectories. %C A214850 We see that the study of the classification of the trajectories is dependent on the values p. %C A214850 The principle of the algorithm is to compute all the products T(2n+1,i)/pZ * T(2n+1,j)/pZ and also the inverse of each element such that if x is in the group, then there exist x' in the group with x*x' = 1. %C A214850 Rows of triangle: %C A214850 {2, 4}, %C A214850 {2, 4, 6}, %C A214850 {2, 4, 6, 8, 12, 18}, %C A214850 {2, 4, 8}, %C A214850 {2, 4, 6}, %C A214850 {2, 4, 6, 8, 12}, %C A214850 {2, 4, 8}, %C A214850 {2, 4, 6, 8, 12}, ... %H A214850 Michel Lagneau, <a href="/A214850/b214850.txt">Rows n = 1..400 of irregular triangle, flattened</a> %e A214850 Row 18 gives 6 groups with p = {2, 4, 6, 8, 12, 18}. The Collatz trajectory T(37,k) = {37, 7, 11, 17, 13, 5, 1}, and if we choose, for example, p=18, we obtain G(37) = {T(37,k)/18Z} = {7, 11, 17, 13, 5, 1} which (as subset of Z/18Z) is a multiplicative group of order 6. %e A214850 For example 5, or 11, generates the cyclic group: %e A214850 5^1 == 5, 5^2 == 7, 5^3 == 17, 5^4 == 13, 5^5 == 11, 5^6 == 1 (mod 18). %e A214850 Other subgroups are {1}, {1, 17} and {1, 7, 13}. %p A214850 c:=0: %p A214850 for n from 3 by 2 to 800 do: %p A214850 x:=2:lst:={n}:lst1:={}:x := n: %p A214850 for k from 1 to 120 while (x > 1) do: %p A214850 a := 0: %p A214850 if type(x, 'even') then %p A214850 x := x/2:lst:=lst union {x}:a:=a+1: %p A214850 else %p A214850 x := 3*x+1 :lst:=lst union {x}:a:=a+1: %p A214850 fi: %p A214850 od: %p A214850 n1:=nops(lst): %p A214850 for u from 1 to n1 do: %p A214850 if irem(lst[u], 2)=1 then %p A214850 lst1:=lst1 union {lst[u]}: %p A214850 else %p A214850 fi: %p A214850 od: %p A214850 m1:= max( op(lst1)):n1:=nops(lst1): %p A214850 for p from 2 by 2 to m1+1 do: %p A214850 lst2:={}: %p A214850 for q from 1 to n1 do: %p A214850 lst2:=lst2 union {irem(lst1[q], p)}: %p A214850 od: %p A214850 lst3:={}:n2:=nops(lst2):kkk:=0: %p A214850 for i from 1 to n2 do:jjj:=0: %p A214850 for j from 1 to n2 do: %p A214850 z:=irem(lst2[i]*lst2[j], p):lst3:=lst3 union{z}: %p A214850 if z=1 then jjj:=1:else fi %p A214850 od: %p A214850 if jjj=0 then kkk:=1:else fi: %p A214850 od: %p A214850 n3:=nops(lst3):iii:=0: %p A214850 for b from 1 to n3 while(iii=0 and n2=n3 and kkk=0) %p A214850 do: %p A214850 if lst2[b]<>lst3[b] then %p A214850 iii:=1:else %p A214850 fi: %p A214850 od: %p A214850 if iii=0 and n2=n3 and kkk=0 then c:=c+1: %p A214850 printf ( "%d %d \n",c,p): %p A214850 else %p A214850 fi: %p A214850 od: %p A214850 x:=2: %p A214850 od: %Y A214850 Cf. A075680, A075684. %K A214850 nonn,tabf %O A214850 1,1 %A A214850 _Michel Lagneau_, Mar 08 2013