Science does not rely on geniuses and programming also shouldn't. There is simply too much to do to wait for genius to do it. If your problem is too hard you should rephrase it, break it into easier parts, limit domain to what is necessary and give up some constraints. That's what people do in science and that's what worked for humanity so far.