nowfound

Life & fun · February 20, 2026

FP

FPGA prime finder – discovered a 1,123-digit Proth prime

I built a Proth prime tester on a Zybo Z7-20 FPGA ($200 board) and found a new 1,123-digit prime: 2079 * 2^3718 + 1. Proth primes are numbers of the form k * 2^n + 1. They have a neat property: Proth's theorem gives you a deterministic proof of primality, not just a probabilistic test. If you can find an integer a where a^((p-1)/2) = -1 mod p, the number is proven prime. No "probably" about it. The interesting part is the hardware. The core is a 4096-bit Montgomery CIOS multiplier running on a Zynq-7020. It uses 28 DSP48E1 slices and runs at 74 MHz, doing one full modular multiply in…

Visit github.comAlternativestop 18% of February 2026

What it does

In the maker’s words, at launch

I built a Proth prime tester on a Zybo Z7-20 FPGA ($200 board) and found a new 1,123-digit prime: 2079 * 2^3718 + 1. Proth primes are numbers of the form k * 2^n + 1. They have a neat property: Proth's theorem gives you a deterministic proof of primality, not just a probabilistic test. If you can find an integer a where a^((p-1)&#x2F;2) = -1 mod p, the number is proven prime. No "probably" about it. The interesting part is the hardware. The core is a 4096-bit Montgomery CIOS multiplier running on a Zynq-7020. It uses 28 DSP48E1 slices and runs at 74 MHz, doing one full modular multiply in ~8,514 clock cycles. The host PC runs an algebraic sieve (eliminates ~92% of candidates using discrete logarithms mod small primes), precomputes the Montgomery constants, then ships each candidate to the FPGA over UART at 115200 baud. PrimeGrid has exhaustively searched all k < 1200 up to n > 3,000,000. Everything above k = 1200 is wide open. I picked k = 2079 because my sieve showed it had the most surviving candidates at high n. Nobody had ever tested it before. The prime also divides 5 Generalized Fermat Numbers, which was an unexpected bonus. 12 hardware bugs found along the way. Highlights: Vivado 2019.1 silently prunes register bits when a muxed datapath has sources of different widths. The Montgomery CIOS algorithm produces results in [0, 2p) not [0, p), and without normalizing after every multiply, the error compounds across thousands of squarings. Non-blocking assignments in Verilog mean your "combinational" readout is actually one cycle stale. All RTL (Verilog), Python scripts, and build files are open source. Verify it yourself: p = 2079 * (1 << 3718) + 1 print(pow(5, (p-1)&#x2F;&#x2F;2, p) == p - 1) # True https:&#x2F;&#x2F;github.com&#x2F;0xdeadbeefnetwork&#x2F;Optimus_Prime

Does the same job

all alternatives →
  • AN
    A nibble-oriented CPU in Verilog to build a scientific calculatorMay 2026 · github.com · ▲119

    The core question: how did HP's scientific calculators actually work at the gate level? That rabbit hole led to building one from scratch. The architectural decision everything else follows from: a decimal calculator should store numbers as BCD — one decimal digit per 4-bit nibble. A standard byte-oriented CPU (Z80, 6502) fights that layout constantly. So I designed a small custom CPU in Verilog where 4 bits is the natural data width and memory is nibble addressable. What the project covers: - Custom CPU: Harvard architecture, 12-bit ISA, 8-state execution FSM, hardware stack guard with a…

  • PN
    Prime numbers visualization2017 · prime-numbers.info · ▲21
  • AT
    A tiny LLM running at 21,000 tok/s on a $250 FPGA (Live Demo)27d ago · mikeayles.com · ▲79

    A 3.16M-parameter INT4 transformer running entirely in the on-chip memory of a Xilinx Kria KV260. Zero DRAM in the token loop, 59,965 tok/s on the fabric, bit-exact. Chat with it live.

  • AboutNumber.comJul 2026 · aboutnumber.com · ▲7

    Everything you need to know about any number

  • AN
    Algebraic Number Theory in Python 32018 · github.com · ▲157
  • KnightOS2016 · ▲136

    An open-source OS for calculators

More life & fun this month

the category →
  • TL

    Life & fun · 10d ago · louisabraham.github.io

  • Photosynthesis fires two of your iPhone

    Life & fun · 28d ago · photosynthesis.camera

  • SoloUno310

    Take control of hair pulling, nail biting & skin picking

    Life & fun · 28d ago · solouno.io

  • Scroll through all 43,252,003,274,489,856,000 reachable Rubik's Cube permutations.

    Life & fun · 26d ago · everycube.alen.is

  • The Interactive 3D Encyclopedia

    Life & fun · 21d ago · expeditione.fun

  • Hi HN, I built Eigendrum, a web tool that solves the 2D wave equation for arbitrary shapes so you can hear what they sound like as drums. How it works: * Solves -∇²u = λu using finite element analysis (Kφ = λMφ) on a triangle mesh. * Validated to <0.1% error against closed-form solutions for circles (Bessel zeros) and rectangles. * Sound model factors in strike location, Rayleigh damping, and mallet width. * Includes Kac drums I & II to demonstrate identical sound spectra from different geometries. * No frameworks, build steps, or dependencies. Repo and tests:…

    Life & fun · 27d ago · baselashraf81.github.io

Launched alongside, February 2026

the whole month →
  • Rork Max1,430

    Best AI for iOS apps. Website that replaces Xcode

    Life & fun · Feb 2026 · rork.com

  • happycapy1,367

    The agent-native computer, for the rest of us

    AI · Feb 2026 · happycapy.ai

  • SuperX902

    All-in-one growth OS for serious 𝕏 creators

    AI · Feb 2026 · superx.so

  • KiloClaw871

    Hosted OpenClaw. No Mac mini required.

    Dev tools · Feb 2026 · kilo.ai

  • Talk it out and feel better

    AI · Feb 2026 · lovon.app

  • Claude’s most advanced model for agentic tasks

    AI · Feb 2026 · anthropic.com