user
|  |
| --- |
| This page uses content from **Wikipedia**. The original article was at Wieferich prime. The list of authors can be seen in the page history. As with Rosetta Code, the text of Wikipedia is available under the GNU FDL. (See links for details on variance) |

In number theory, a **Wieferich prime** is a prime number  ***p***  such that  ***p2***  evenly divides  ***2(p − 1) − 1*** .

It is conjectured that there are infinitely many Wieferich primes, but as of March 2021,only two have been identified.

Task

* Write a routine (function procedure, whatever) to find Wieferich primes.

* Use that routine to identify and display all of the Wieferich primes less than 5000.

See also

* OEIS A001220 - Wieferich primes
assistant
```
put "Wieferich primes less than 5000: ", join ', ', ^5000 .grep: { .is-prime and not ( exp($_-1, 2) - 1 ) % .² };

```

Output:

```
Wieferich primes less than 5000: 1093, 3511
```