Thanks for that - good explanation with solid math.
My following query would be - if 2 blocks are found "at the same time" - how is the block owner\solver determined?
If its exact time as suggested earlier then why would 2 miners think they had solved it ?
If you look at a blockchain record, you will see that there are two time stamps: the time the block was found, as recorded by the finder, and the time it was reported to the blockchain, which is the one that counts (but see the next paragraph). When a block is solved by two miners almost simultaneously, it can (and does) happen that the first finder loses out through being too slow in reporting their success, which may be caused by their own internal issues or by a delay in the internet. It appears to happen to most pools sooner or later. Since everybody will continue to work on a block until the new find has been logged and propagated across the network, occasional duplicates are inevitable.
There is a rare complication: if the miner who loses the race happens to solve and report a second block before the first result has been propagated, his blocks will form the new chain by having the longer fork, and the poor sod who got there first loses out. This could happen by accident; if intentional - which is theoretically possible - it's called "selfish mining".