Correct option is C
The correct phrase is "for thirty years" because "for" is used when referring to a duration of time. "Since" is used with a specific point in time (e.g., since 1993), whereas "for" is used to express the length of time (e.g., for 30 years). Hence, the correct sentence is: Mr. and Mrs. Singh have been married for thirty years.
Explanation of options: (a) from – "From" requires a starting point and usually a counterpart "to" or "until" (e.g., from 1990 to 2020). It cannot be used alone to express duration. So it does not suit the sentence structure here.
(b) till – "Till" means "until" and indicates the end point of a time period, not the duration itself. It cannot replace “since” in a sentence meant to show how long something has continued. So, it's not applicable.
(c) for – This is the correct option. "For thirty years" expresses a duration of time and correctly complements the present perfect tense "have been married." This preposition is grammatically accurate for describing ongoing states.
(d) until – Like "till," "until" is used to refer to the end point of an action or state. It cannot express a span of time that continues from the past into the present. Hence, it's incorrect here.