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 A322936 #19 Apr 02 2019 17:53:06 %S A322936 1,0,0,0,3,0,4,5,3,5,5,7,7,3,4,6,7,8,9,5,7,5,7,8,9,10,11,3,5,9,11,4,8, %T A322936 11,13,7,9,11,13,3,5,6,7,9,10,11,12,13,14,15,5,7,11,13,4,5,7,8,10,11, %U A322936 12,13,14,15,16,17,3,7,9,11,13,17,8,11,13,16,17,19 %N A322936 Triangular array in which the n-th row lists the numbers strongly prime to n (in ascending order). For the empty rows n = 2, 3, 4 and 6 we set by convention 0. %C A322936 a is strongly prime to n if and only if a <= n is prime to n and a does not divide n-1. See the link to 'Strong Coprimality'. (Our terminology follows the plea of Knuth, Graham and Patashnik in Concrete Mathematics, p. 115.) %H A322936 Peter Luschny, <a href="http://oeis.org/wiki/User:Peter_Luschny/StrongCoprimality">Strong Coprimality</a> %e A322936 The length of row n is A181830(n) = phi(n) - tau(n-1). The triangular array starts: %e A322936 [1] {1} %e A322936 [2] {} %e A322936 [3] {} %e A322936 [4] {} %e A322936 [5] {3} %e A322936 [6] {} %e A322936 [7] {4, 5} %e A322936 [8] {3, 5} %e A322936 [9] {5, 7} %e A322936 [11] {3, 4, 6, 7, 8, 9} %e A322936 [12] {5, 7} %e A322936 [10] {7} %e A322936 [13] {5, 7, 8, 9, 10, 11} %e A322936 [14] {3, 5, 9, 11} %e A322936 [15] {4, 8, 11, 13} %e A322936 [16] {7, 9, 11, 13} %e A322936 [17] {3, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15} %e A322936 [18] {5, 7, 11, 13} %e A322936 [19] {4, 5, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17} %e A322936 [20] {3, 7, 9, 11, 13, 17} %p A322936 StrongCoprimes := n -> select(k -> igcd(k, n)=1, {$1..n}) minus numtheory:-divisors(n-1): %p A322936 A322936row:= proc(n) if n in {2, 3, 4, 6} then return 0 else op(StrongCoprimes(n)) fi end: %p A322936 seq(A322936row(n), n=1..20); %t A322936 Table[If[n == 1, {1}, Select[Range[2, n], And[GCD[#, n] == 1, Mod[n - 1, #] != 0] &] /. {} -> {0}], {n, 21}] // Flatten (* _Michael De Vlieger_, Apr 01 2019 *) %o A322936 (Sage) %o A322936 def primeto(n): %o A322936 return [p for p in range(n) if gcd(p, n) == 1] %o A322936 def strongly_primeto(n): %o A322936 return [p for p in set(primeto(n)) - set((n-1).divisors())] %o A322936 def A322936row(n): %o A322936 if n == 1: return [1] %o A322936 if n in [2, 3, 4, 6]: return [0] %o A322936 return sorted(strongly_primeto(n)) %o A322936 for n in (1..21): print(A322936row(n)) %Y A322936 Cf. A000010, A038566, A181831, A181832, A181833, A181834, A181835, A181836, A322937. %K A322936 nonn,tabf %O A322936 1,5 %A A322936 _Peter Luschny_, Apr 01 2019