should help you out Approach 3 can work, as the seed for any PRNG can be as long as that PRNG's state (for example, Mersenne Twister has a state length of 19968 bits, or 624 * 32 bits, so can accept a seed of up to that many bits — it's not limited to 32 or 64 bits, as is the practice with many APIs that implement Mersenne Twister). However you should use a PRNG of an unrelated design to Mersenne Twister, such as PCG, to seed that PRNG, then draw the 624-integer seed as you suggest. (Or, if you don't require reproducible results or if you will save the 624-integer seeds generated this way, you can use a cryptographic RNG, such as os.urandom() or secrets.SystemRandom, to draw those seeds instead.) My article on RNGs suggests several PRNGs with different designs.
should help you out Assuming you always need the same seed every time for the set of coordinates: just encrypt a concated string with MD5 or some other hash algorithm. md5("1,2,3") is not the same as md5("3,2,1"). Or if you need a purely numeric string, use something like: "first digit * 9" + "second digit * 8" + "third digit * 7" that will give you more variety. If you don't, use the above methods with a random number.
Generate multiple independent random streams in python