If you stumble upon a new problem that's unknown to you, you should ALWAYS search what others have done. Only after that you'll try yourself if necessary, knowing the mistakes others made. Good programmers are lazy.
You won't challenge your mind any more by not searching, that way you're just being stupid. Besides, it's much easier to create original works if you know what's original and what's not. This is why you should be studying other's work before you do your own.