Not centralized. New proposed block has new transactions and header of previous validated block and a nonce. The miner then hashes new proposed block and needs to iterate through nonce to find multiple zeroes for hash of new proposed block. It’s not really a math puzzle in human sense, just a brute force computer energy drain to maintain block creation speed.