oe = Table[(IntegerDigits[n,2,7]2-1),{n,0,127}];

jj =Permutations[{1,1,2,2,3,3,4}];

kk =Flatten[Table[oe[[a]] jj[[b]],{a,1,128},{b,1,630}],1];

gperm = Select[kk,Length[Union[Mod[FoldList[Plus,0,#],8]]]==8&];

Length[gperm]

Sort[Sort/@Flatten[Table[Mod[{{a,a+1},{a+1,a-1},{a-1,a+2},{a+2,a-2},{a-2,a+3},{a+3,a-3},{a-3,a+4},{a+4,a-4},{a-4,a+5}},10,1],{a,1,5 4,4}],1]]

FoldList[Plus,0,{1,-1,2,-2,3,-3,4,-4,5}]

Partition[Mod[FoldList[Plus,1,{1,-2,3,-4,5,-6,7,-8,9}],10,1],2,1]

Mod[Table[a,{a,1,5 4,3}],8,1]

Table[a,{a,1,4 3,3}]

Length[Union[Sort[Sort/@Flatten[Table[Partition[Mod[FoldList[Plus,a,gperm[[1]]],8,1],2,1],{a,1,4 3,3}],1]]]]

GraphData[{"Triangular",8},"V"]

Flatten[Table[Partition[Mod[FoldList[Plus,a,gperm[[1]]],8,1],2,1],{a,1,4 3,3}],1]//Length

Length[Union[Sort[Sort/@Flatten[Table[Partition[Mod[FoldList[Plus,a,gperm[[2]]],8,1],2,1],{a,1,4 3,3}],1]]]]

Select[gperm,Length[Union[Sort[Sort/@Flatten[Table[Partition[Mod[FoldList[Plus,a,#],8,1],2,1],{a,1,4 7,7}],1]]]]==28&]

Flatten[Table[Mod[{{a,a+1},{a+1,a-1},{a-1,a+2},{a+2,a-2},{a-2,a+3},{a+3,a-3},{a-3,a+4},{a+4,a-4},{a-4,a+5}},10,1],{a,1,5 4,4}],1]

Out[47][[1]]

With[{pairs = Flatten[Table[Partition[Mod[FoldList[Plus,a,Out[47][[16]]],8,1],2,1],{a,1,4 5,5}],1]},GraphPlot[Flatten[Table[If[Length[Intersection[pairs[[j]],pairs[[k]]]]==1,pairs[[j]]->pairs[[k]],Sequence@@{}],{j,1,Length[pairs]-1},{k,j+1,Length[pairs]}],1],VertexCoordinateRules-> Thread[pairs-> Table[{Sin[n],Cos[n]},{n,2 Pi/Length[pairs],2Pi,2Pi/Length[pairs]}]]]]