Hello Jucers,

I noticed the following test in BigInteger::inverseModulus

```
if (! (*this)[0])
{
// not invertible
clear();
return;
}
```

Hence, if the number is even, the inverse is deemed to not exist and the operation is aborted. This is reasonable when the modulus is a power of 2, but it is not correct in general. An inverse exists if the number is coprime with the modulus, so the test should be:

```
if (findGreatestCommonDivisor(modulus) != 1)
{
// not invertible
clear();
return;
}
```

This issue is found in the latest code from github.

Cheers,

Bill