login
Number of cyclic arrangements of S={1,2,...,n} such that the difference of any two neighbors is not coprime to their sum.
16

%I #17 Oct 25 2018 21:26:01

%S 1,0,0,0,0,0,0,0,0,72,288,3600,17856,174528,2540160,14768640,

%T 101030400,1458266112,11316188160,140951577600,2659218508800,

%U 30255151463424,287496736542720,5064092578713600,76356431941939200,987682437203558400,19323690313219522560

%N Number of cyclic arrangements of S={1,2,...,n} such that the difference of any two neighbors is not coprime to their sum.

%C a(n)=NPC(n;S;P) is the count of all neighbor-property cycles for a specific set S of n elements and a specific pair-property P. For more details, see the link and A242519.

%C Compare this with A242533 where the property is inverted.

%H Hiroaki Yamanouchi, <a href="/A242534/b242534.txt">Table of n, a(n) for n = 1..27</a>

%H S. Sykora, <a href="http://dx.doi.org/10.3247/SL5Math14.002">On Neighbor-Property Cycles</a>, <a href="http://ebyte.it/library/Library.html#math">Stan's Library</a>, Volume V, 2014.

%e The first and the last of the 72 cycles for n=10 are:

%e C_1={1,3,5,10,2,4,8,6,9,7} and C_72={1,7,5,10,8,4,2,6,3,9}.

%e There are no solutions for cycle lengths from 2 to 9.

%t A242534[n_] := Count[Map[lpf, Map[j1f, Permutations[Range[2, n]]]], 0]/2;

%t j1f[x_] := Join[{1}, x, {1}];

%t lpf[x_] := Length[Select[cpf[x], ! # &]];

%t cpf[x_] := Module[{i},

%t Table[! CoprimeQ[x[[i]] - x[[i + 1]], x[[i]] + x[[i + 1]]], {i,

%t Length[x] - 1}]];

%t Join[{1}, Table[A242534[n], {n, 2, 10}]]

%t (* OR, a less simple, but more efficient implementation. *)

%t A242534[n_, perm_, remain_] := Module[{opt, lr, i, new},

%t If[remain == {},

%t If[!

%t CoprimeQ[First[perm] + Last[perm], First[perm] - Last[perm]],

%t ct++];

%t Return[ct],

%t opt = remain; lr = Length[remain];

%t For[i = 1, i <= lr, i++,

%t new = First[opt]; opt = Rest[opt];

%t If[CoprimeQ[Last[perm] + new, Last[perm] - new], Continue[]];

%t A242534[n, Join[perm, {new}],

%t Complement[Range[2, n], perm, {new}]];

%t ];

%t Return[ct];

%t ];

%t ];

%t Join[{1}, Table[ct = 0; A242534[n, {1}, Range[2, n]]/2, {n, 2, 12}] ](* _Robert Price_, Oct 25 2018 *)

%o (C++) See the link.

%Y Cf. A242519, A242520, A242521, A242522, A242523, A242524, A242525, A242526, A242527, A242528, A242529, A242530, A242531, A242532, A242533.

%K nonn,hard

%O 1,10

%A _Stanislav Sykora_, May 30 2014

%E a(19)-a(27) from _Hiroaki Yamanouchi_, Aug 30 2014