Project Euler 200 - Find the 200th prime-proof sqube containing the contiguous sub-string "200"

Official link:

Note: I am unhappy with my solution as I just completely brute forced the problem

Thought Process

Not very proud of my solution for this problem.

I made a simple function to just change all digits of a number to check if it was prime proof using a fermat based primality test to see if large numbers are prime.

I wasn't able to generate all the sqube's quickly and in order, so I decided to try my luck and used the first 10^8 primes, which I generated using my Prime generator and basically generated all sqcubes less than 10^15 (just some massive limit) and then for all sqube's that contain the contiguous sub-string "200" I checked if they were prime-proof using the above, and if they were I added them to a list.

At the very end I just returned the 200th element and hoped for the best, luckily it was correct, and I was actually way above target

Interactive Code

No interactive code for this problem, my code is given below