Translation:My grandfather is one hundred years old.
I had forgotten about sobo and sofu. Personally, I've never heard it in use. People usually use baba (grandma/nana/nanny) and jiji (grandad) when talking about their own grandparents. Having said that it's not like I talked about my grandparents a lot and when friends talked about or with their grandparents it was in a very relaxed/informal setting so maybe that's why I haven't heard them in use.
Just a little caution, it's ばあば (baaba) and じいじ (jiiji). Don't want to go around calling your grandmother an old hag!
Is there a difference between 祖父(そふ) and お祖父さん? Is latter more colloquial considering it's a native word as opposed to the Chinese loan 祖父?
祖父 is just a humble way to talk about your own grandfather to someone else.
Kind of like the difference between grandfather (more formal) and grandpa/granddad I presume
Even in Chinese it is rarely used. In chinese there are specific words for paternal grandfather 爺爺. And maternal grandfather 外公. These are more commonly used. 祖父 translates more as father to my ancestor so could, technically, be used to refer to a great grandfather or great great great grandfather
They are the same. Duolingo oft sets its heart on one valid translation though and can get finicky if you try to introduce another valid translation. I've learnt it's just best to learn Duolingo's preferred translation and shrug it off as that's how it is for now - but then if it still really bothers you report it - repeatedly - every time DL says your translation is wrong. But for your answer type what DL wants you to say or you won't be able to finish the lesson :/
No, because you would never call someone else's grandfather sofu, therefore you can only be talking about your own grandfather. You would only ever call other people's grandfather ojiisan.
*If you are a native English speaker, then "a hundred" is normally acceptable. "One hundred" is always assumed. :)