“The most common algorithms used for PRNGs are linear congruential generators”
I doubt that is still true for ‘modern’ languages. Let’s google a few.
https://docs.microsoft.com/en-us/dotnet/api/system.random?vi... says “The current implementation of the Random class is based on a modified version of Donald E. Knuth's subtractive random number generator algorithm”. So, that’s a no.
https://rust-random.github.io/book/guide-rngs.html doesn’t appear to mention multiplicative algorithms, either.
https://developer.apple.com/documentation/swift/systemrandom... says “SystemRandomNumberGenerator is automatically seeded, is safe to use in multiple threads, and uses a cryptographically secure algorithm whenever possible.”