"Elsa's birthday party will be held in three days." is the correct answer.
"in three days" means 3 days from today.
"three days later" means 3 days after some time period that you were just talking about.
You could use this if you had said, "I'm going away for 2 days. Elsa's birthday party will be held three days later". Here, the party will be 5 days from now - three days AFTER I return (which will be in 2 days)
And Do those following sentences have the same meaning?
"Elsa's birthday party will be held after three days."
"Elsa's birthday party will be held within three days."
No, they have different meanings.
The 2nd 'within 3 days' means it will happen some time BEFORE 3 days. It may be in one day, or 2 days etc.
The first 'after 3 days' means it will happen AFTER 3 days have passed. This 1st sentence isn't good English, though - it is not natural. It should be worded as, "Elsa's birthday party will be held in another three days or so" (The party will be 3 days or 4 days, etc from now).