As I understood, mining bitcoin means to make SHA256(SHA256(something)). If the result has enough 0's at its beginning, you found the block. In order to be possible to get enough 0's, it is possible to change the nonce (or how it is called) and so change the result consequently.
So, if this is mining, couldn't it be possible to calculate which nonce is needed and then give this result to the pool/network?
I suppose there is something I don't know which makes this impossible and so it would be good to learn it. In the other case, well the question would be to know how long it would take to make such a miner
P.S.: There might be some mistakes in the text, my English is quit bad.