Prove that $\mathbb R ^n $ without a finite number of points is simply connected for $n\geq 3$
If you're happy with deformation retraction arguments, you can do this more quickly than that. Put disjoint balls around each point, and join them with thin paths in some order. I claim that $\mathbb{R}^n$ minus these points deformation retracts to the boundaries of these balls together with these thin paths; that is, $\mathbb{R}^n$ minus $k$ points is homotopy equivalent to a wedge sum of $k$ copies of $S^{n-1}$.
Here is a longwinded way involving tedious path surgery.
First we need to show that $Y=\mathbb{R}^n\setminus X$ is path connected. Pick $x,y \in Y$.Choose $d \neq 0$ such that $d \bot (x-y)$. Pick $\lambda \in \mathbb{R}$, $t \in [0,1]$ and let $p_\lambda(t) = x + t(y-x) + (1-|2t-1|) \lambda d$. (It is easy to see that $p_\lambda$ is the polygonal path $(x,{x+y \over 2}+ \lambda d, y)$.)
Since $x-y,d$ are linearly independent, it is easy to see $p_{\lambda_1}=p_{\lambda_2}$ iff $\lambda_1 = \lambda_2$ . In fact, if $t_1, t_2 \in (0,1)$, then $p_{\lambda_1}(t_1) = p_{\lambda_2}(t_2)$ iff $\lambda_1 = \lambda_2$ and $t_1 = t_2$.
Each $p_\lambda$ is a path between $x,y$ and at most $|X|$ of these can intersect $X$. Since there are an uncountable number of such paths, there is at least one path joining $x,y$ hence the set is path connected and so is connected.
Now suppose $x_0 \in Y$ and $\gamma:[0,1] \to Y$ is a closed path based at $x_0$. Since $Y$ is open, we see that $\gamma$ is homotopic to a polygonal closed path in $Y$ also based at $x_0$. Hence we may take $\gamma$ to be polygonal, that is, straight lines joining a finite number of points $x_0=\gamma_0,...,\gamma_m = x_0$.
Now consider the finite collection of points $A=\{\gamma_k\} \cup X$. Pick a hyperplane $H$ passing through $x_0$ such that the orthogonal projections onto $H$ of the points in $A$ are distinct. (There are only a finite number of orientations of the hyperplane such that two points in $A$ project to the same point.) Let $\Pi$ be the orthogonal projection operator (projects onto the subspace parallel to $H$), and let $h$ be the normal of the hyperplane.
Since $Y$ is open, we see that $B(x_0,\epsilon) \subset Y$ for some $\epsilon>0$. Let $H_\eta = H+ \{ \eta h\}$. By choosing $\eta$ sufficiently small, we can shift the hyperplane such that it intersects $B(x_0,\epsilon)$ but passes through none of the points $X$.
Let $\phi$ be the (affine) orthogonal projection onto $H_\eta$.
Let $B= \{ y | \Pi y = \Pi x \text{ for some } x \in X \}$ (a finite collection of lines perpendicular to $H_\eta$). By construction, none of the points $\gamma_k$ lie in $B$, but it is possible that some segment $[\gamma_i, \gamma_{i+1}]$ intersects $B$.
Suppose a segment $[\gamma_i, \gamma_{i+1}]$ intersects $B$. Pick a direction $d$ that is perpendicular to $\gamma_{i+1}-\gamma_{i}$ and $h$ (this is where $n\ge 3$ comes in). As above, define $p_\lambda(t) = \gamma_i + t(\gamma_{i+1}-\gamma_{i}) + (1-|2t-1|) \lambda d$, and let $N= \{ \lambda | p_\lambda([\gamma_i, \gamma_{i+1}]) \cap B \neq \emptyset \}$. Note that $N$ is finite, hence there is some $\delta>0$ such that $p_\lambda([\gamma_i, \gamma_{i+1}])$ does not intersect $B$ for $\lambda \in (0,\delta]$. Hence $p_\lambda([\gamma_i, \gamma_{i+1}])$ does not intersect $X$ for $\lambda \in [0,\delta]$. Hence we can continuously modify the path $\gamma$ by adding the point ${\gamma_i +\gamma_{i+1} \over 2}+ \delta d$ while remaining in $Y$. Repeat this process for all segments that intersect $B$. Hence the original path is homotopic in $Y$ to a curve that does not intersect $B$.
The points $x_0, \phi(x_0)$ are in $B(x_0,\epsilon)$ and since the ball is convex, we can see that the modified curve is homotopic in $Y$ to the same curve with the points $x_0, \phi(x_0)$ prepended (that is, the points on the path are $x_0, \phi(x_0), x_0=\gamma_0, ...$). In a similar manner, add the points $\phi(x_0), x_0$ to the end of the path.
The modified path looks like $x_0, \phi(x_0), \gamma_1, ...,\gamma_n, \phi(x_0), x_0$ (the $\gamma_i$ are the modified points).
Now consider the map $\theta_t(x) =(1-t)x+ t \phi(x)$ apply the map to the portion of the curve $\phi(x_0), \gamma_1, ...,\gamma_n, \phi(x_0)$. Hence the modified path is homotopic in $Y$ to the path $x_0, \phi(x_0), \phi(\gamma_1), ...,\phi(\gamma_n), \phi(x_0), x_0$, and since the points $\phi(x_0), \phi(\gamma_1), ...,\phi(\gamma_n), \phi(x_0)$ lie in the convex set $H_\eta \subset Y$ the curve is homotopic to the curve $x_0, \phi(x_0), x_0$, and since the ball is convex, this curve is homotopic in $Y$ to the constant curve $t \mapsto x_0$.