Any suggestion for how to generate the Cycles? I read that the SemidirectProduct was involved, but that does not evaluate in FiniteGroupData and the DirectProduct generates a different thing altogether.
FiniteGroupData[{"DirectProduct", {{"CyclicGroup",
21}, {"CyclicGroup", 3}}}, "CayleyGraph"] // Graph3D