6. Make sure that "n" is different than "p".
7. Validate that if you pick "n" as the starting prime, and go through all steps, you will reach "p".
You didn't explain why you want these properties of 2 curves forming a 2-cycle.
Is it just because this is the case for secp256k1, as noted for example (together with other interesting properties) in [1] ?
[1]
https://hackmd.io/@dJO3Nbl4RTirkR2uDM6eOA/Bk0NvC8VoTromp could u explain more what sort of coincidence you speak about on your link [1]
This sage script doesn't find that it is rare to have the property of the post linked when P and N are primes...:
ROUNDS=10000
for i in range(ROUNDS):
P=randint(1,2**256)
P=next_prime(P)
F=FiniteField(P)
C = EllipticCurve([F(0), F(7)])
N=C.order()
if is_prime(N):
print(P,N)
print(EllipticCurve(GF(P), [0, 1]).order())
print(EllipticCurve(GF(N), [0, 1]).order())
print('')