Almost all of the “work” that Bitcoin miners do consists of adding a number, called a “nonce,” to a block of valid transactions and calculating the value of the SHA-256 hash function applied to the resulting text. SHA-256 is open source, with code and *calculational*^{[1]} webpages readily available online. SHA-256 inputs an exact text string (including capitalization, spaces, etc.) of any size and outputs a deterministic, but highly unpredictable and extremely output-sensitive, 256-bit number. The Bitcoin network rewards the first miner to find a nonce that results in a hash with at least a certain minimum number of leading 0s in binary representation, or, equivalently, smaller than a certain power of 2.

For example, the hash of “Casualty Actuarial Society” in hexadecimal format is:

“d1aa983e2ffe98ea44818e9f99eaac4df244090e8e95d104728b6fc7f556faa6.”

When a nonce of 12 is appended to form “Casualty Actuarial Society12” the hash becomes:

“026223566604bb544569c5e85b-

d0f366a21131685bba28b71b9ad57-

ecc77167a.”

The leading 0 in hexadecimal corresponds to 4 leading 0s in binary representation, or equivalently that the number is smaller than 2^{252}.

This month’s puzzle is to find a nonce that when appended to “Casualty Actuarial Society” results in a hash with at least 20 leading binary 0s (same as at least 5 leading 0s in hexadecimal representation), or equivalently smaller than 2^{236}. The smaller the hash, the better. So, send us the nonce with the smallest hash you can find!

### Know the answer? Send your solution to ar@casact.org.

## Which Number is Larger?

This short puzzle was stated as follows:

Let *k* = 10* ^{a}* where

*a*= 10

^{1,000,000,000,000}. Which number is larger, the

*k*

^{th}root of

*k*,

*√*

^{k}*k*, or the (

*k*+1)

^{th}root of

*k*+ 1,

^{ k + 1}√

*k*+ 1? What if

*k*is some other positive integer?

Many readers resorted to differential calculus, but simple algebra will suffice to solve this puzzle.

Let *x*(*k*) = * ^{k}*√

*k*. For

*k*≥ 3,

*x*(

*k*) > 1 + 1/

*k*. This can be proven by applying the Binomial theorem: (1 + 1/

*k*)

*= 1 + 1 + (*

^{k}*k*– 1) terms < ½). So, (1 + 1/

*k*)

*< (*

^{k}*k*+ 3)/2) ≤

*k*, for

*k*≥ 3. Hence, by contradiction, it must be that

*x*(

*k*) > 1 + 1/

*k*.

Now for *k* ≥ 3, suppose *x*(*k* + 1) ≥ *x*(*k*), then *x*(*k* + 1)*k* ≥ *k*. Consequently, *x*(*k* + 1)*k*+1 > *k*(1 + 1/*k*) > *k* + 1. Again, by contradiction, it must be that *x*(*k* + 1) < *x*(*k*) for all *k* ≥ 3.

Solutions were also submitted by Shyam Bihari Agarwal, Andrea Altomani, John Berglund, Bob Conger, Ian Drayer, Yocheved Ephrathi, Clive Keatinge, Eamonn Long, Edward Lotkowski, Jerry Miccolis, Tomasz Serbinowski, David Skurnick, Matt Stephenson and David Uhland.

^{[1]} calculational (adj.): of, pertaining to, or employing calculation. (Yes. It’s a real word.)