You could design an algorithm (as video games have), but if you generated one via machine learning it would probably be more effective. Then you could try to unravel or approximate its decisions.
I don't think you can have a strictly unsolvable position unless somebody's got no shot (or really...