Most, hogy láttam az algoritmust, hagy jegyezzem meg, hogy ez teljesen használhatatlan lesz ha áttérsz a tömbökre. (Legalábbis a "if (!(value % 5) && (value != 5))" rész biztosan)
Mivel az osztás a leglassabb művelet, (főleg, ha kézzel kell megírnod 4000 bit-re) nem árt elkerülni.
Viszont a már említett 16-os számrendszer beli összeadás gyors (egypár maszkolás, eltolás, összeadás), és máris megvan a 3-mal, és 5-tel való oszthatóság.
De mint mondtam volt, úgy tudom, kb 13-ig vannak hasonló módszerek. Látatlanban azt mondom, hogy Knut könyvében biztos le vannak írva, mint ahogy az is, hogyan lehet gyorsan hatványozni "mod m" felett.
(Fermat teszt)
A nagy prímszámtétel meg teljesen használhatatlan számodra, ha pontos sorszámot akarsz, mivel csak aszimptotikus kapcsolatot bizonyít.
Hmmm nem kis fába vágtad a fejszédet, lehet mégis inkább keress egy lib-et.