With less than 1% error. Here's a link to the paper: http://yann.lecun.com/exdb/publis/pdf/lecun-01a.pdf
zeros: each element of this array is a picture of a "0" ones: each element is a picture of a "1" ... nines: each element is a "9"
Compute the average of each array: the "average" 0, the average 1, and so on. Then classify new digits based on which average element they are closest to, using Euclidean distance. This sounds way too dumb to do any good, but the MNIST digits are normalized so well that this actually does something.
Even better: you can have a neural "network" that has zero hidden layers. This actually achieves almost respectable performance, believe it or not.
On MNIST I think you get something like 60% accuracy.
1060, 1070, or 1080Ti are all good choices, depending on your budget and ambitions.
If you are asking about using the iGPU for a bit more power, most frameworks don't support them. The only frameworks with which you can use with iGPUs are which have OpenCL support, like caffe[1] (even for those you need to have a recent enough CPU)
Tensorflow either uses CPU or CUDA (Not even AMD, but the support is coming for openCL)