As long as your puppy is "allowed" to go in the house, you'll have a hard time housetraining him.
The point is to prevent accidents from ever happening. When you can't watch him like a hawk, either confine him, or attach his leash to you. That way, at the first sign that he needs to go (sniffing, circling) you can whisk him outside and praise like crazy when he goes. Never ever punish or scold him for accidents in the house, cause they are not his fault, but yours.
Yes, time and patience are the most important things, but they won't work if you are giving him the opportunity to eliminate in the house, because this is very confusing to him. Each time he "goes" in the house, that behaviour is reinforced, simply because it feels good!
Do not leave him loose in the house for even 5 minutes, unless you know for sure he is "empty". He can have a little free play time in an area where you can supervise right after he does his business outside.
Some puppies train faster than others, but it might be 6 months or more until he is reliable. Also, clean the spots he has used with something like Nature's Miracle, to get the odour out.
Here are bunch of links you'll find helpful!