"old" is an adjective, of course.
"fifty years" is a noun phrase used as an adverb answering the question "how (old)?".
How old is he? = adverb adjective verb pronoun.
The pattern is NUMBER + UNIT + DIMENSION-ADJECTIVE
Numbers: 3, 6, 10, 20, 75, ...
Dimension adjective: old Corresponding...