Dewayne Wesley Oxendine, 27, has been charged with Second Degree Murder in the death of Bruce Lee Hunt, 35, of Lumberton.
Hunt was reported missing by relatives on April 26, 2010.
Deputies found human remains in a concrete sealed well on Saturday, according to Robeson County Sheriff Kenneth Sealey.
The remains are believed to be those of Hunt, Sealey said.
The NC State Medical Examiners Office will work to get a positive identification on the remains.
He says Oxendine and Hunt were friends.
Oxendine started feeling guilty about the murder in recent weeks, according to Sealey.
"He told some people he was responsible for the boy being missing a nd he had killed him. They put a bug in our ear," said Sealey.
Deputies arrested Oxendine Friday at a graveyard where he was reading the Bible.
Sealey said, "He confessed and showed us where the body was."
Sealey says the case was always open, but no new leads had developed over the years.
"It was cold. We been working on it. One thing led to another."
Charges could be upgraded against Oxendine.
He is being held at the Robeson County Detention Center.