Tapis Atkin
Algoritma

Dalam algoritma:
Semua sisanya adalah modulo, enam puluh sisa (bagi nomor dengan 60 dan kembalikan sisanya).
Semua angka, termasuk  x dan  y, adalah bilangan bulat positif.
Membalik entri dalam daftar tapis berarti mengubah tanda (prima atau nonprima) ke tanda yang berlawanan.
Ini menghasilkan bilangan dengan bilangan ganjil solusi ke persamaan yang sesuai berpotensi menjadi bilangan prima (bilangan prima jika juga bebas kuadrat), dan bilangan dengan bilangan genap solusi yang digabungkan.
Algoritme:
Buat daftar hasil, diisi dengan 2, 3, dan 5.
Buat daftar saringan dengan entri untuk setiap bilangan bulat positif; semua entri dari daftar ini pada awalnya harus ditandai non prime (komposit).
Untuk setiap nomor entri n dalam daftar saringan, dengan sisa modulo-enam puluh r :
Jika r adalah 1, 13, 17, 29, 37, 41, 49, atau 53, balikkan entri untuk setiap kemungkinan solusi ke 4x2 + y2 = n.  Jumlah operasi pembalikan sebagai rasio terhadap kisaran penyaringan untuk pendekatan langkah ini 4√π15 × 860 (angka "8" dalam pecahan berasal dari delapan modulos yang ditangani oleh kuadrat ini dan 60 karena Atkin menghitungnya berdasarkan jumlah genap modulo 60 roda), yang menghasilkan pecahan sekitar 0.1117010721276....
Jika r adalah 7, 19, 31, atau 43, balikkan entri untuk setiap solusi yang mungkin ke 3x2 + y2 = n.  Jumlah operasi pembalikan sebagai rasio terhadap kisaran penyaringan untuk pendekatan langkah ini π√0.12 × 460 (angka "4" dalam pecahan berasal dari empat modulos yang ditangani oleh kuadrat ini dan 60 karena Atkin menghitungnya berdasarkan jumlah genap modulo 60 roda), yang menghasilkan pecahan sekitar 0,072551974569....
Jika r adalah 11, 23, 47, atau 59, balikkan entri untuk setiap kemungkinan solusi ke 3x2 − y2 = n jika x > y.  Jumlah operasi pembalikan sebagai rasio terhadap kisaran penyaringan untuk pendekatan langkah ini √1.92ln(√0.5+√1.5) × 460 (angka "4" dalam pecahan berasal dari empat modulos yang ditangani oleh kuadrat ini dan 60 karena Atkin menghitungnya berdasarkan jumlah genap modulo 60 roda), yang menghasilkan sebagian kecil sekitar 0,060827679704....
Jika r adalah sesuatu yang lain, abaikan sepenuhnya.
Mulailah dengan angka terendah dalam daftar tapis.
Ambil bilangan berikutnya dalam daftar tapis yang masih bertanda prima.
Sertakan nomor dalam daftar hasil.
Kuadratkan angka tersebut dan tandai semua kelipatan persegi tersebut sebagai bukan prima. Perhatikan bahwa kelipatan yang dapat difaktorkan dengan 2, 3, atau 5 tidak perlu diberi tanda, karena ini akan diabaikan pada pencacahan akhir prima.
Ulangi langkah empat sampai tujuh.  Jumlah total operasi untuk pengulangan penandaan bilangan prima ini sebagai rasio rentang penyaringan adalah jumlah dari balikan bilangan prima yang dikuadratkan, yang mendekati fungsi zeta prima (2) dari 0,45224752004... minus 122, 132, dan 152 untuk bilangan prima yang telah dieliminasi oleh roda, dengan hasil dikalikan dengan 1660 untuk rasio pukulan roda per rentang; ini menghasilkan rasio sekitar 0,01363637571....
Menambahkan rasio operasi di atas bersama-sama, algoritma di atas mengambil rasio konstan dari operasi pembalikan / penandaan ke kisaran penyaringan sekitar 0.2587171021...;  Dari implementasi aktual algoritma, rasionya sekitar 0,25 untuk rentang penyaringan serendah 67.