How many shares will be found for a given hashrate? Many pools offer a difficulty of 1 per share.  

Since variable difficulty is a feature of a couple of pools, I'd like to understand how many shares would be created at varying levels of difficulty.


What is the formula to determine the average number of shares when the hashrate and difficulty are known?


This is a variation of the following question:

Given the probability of finding a block, and time taken, can I infer hashrate?
One difficulty-1 share takes on average 2^32 = 4.3 billion hashes to find.

If your hashrate is X GH/s, then in one day the number of difficulty-d shares you'll find is

(X * 1000000000 * 86400) / (2^32 * d)

Or simply

20,000 * X / d