Solution (source code)

= Solution

Let $d_i=\deg C_i$. Under the <reduced plane curve> convention, the distinct <irreducible components> have $\sum_i d_i=d$. Away from intersections with other components, a point of $C_i$ is nonsingular on the union exactly when it is nonsingular on $C_i$. For example, a local equation of the union is the equation of $C_i$ multiplied by a nonvanishing factor. At an intersection of two components, differentiating their product makes every first <partial derivative> vanish. Therefore
$$
\operatorname{Sing}(C)=\bigcup_i\operatorname{Sing}(C_i)\ \cup\ \bigcup_{i<j}(C_i\cap C_j).
$$

Part (b) bounds the number of <singular points> of $C_i$ by $d_i(d_i-1)/2$. For each distinct pair of <irreducible components>, <Bézout's theorem> bounds the number of distinct intersections by $d_id_j$. The <cardinality> of a union is at most the sum of the <cardinalities>, even if some points have been counted several times. Hence
$$
\begin{aligned}
\#\operatorname{Sing}(C)
&\leq\sum_i\frac{d_i(d_i-1)}2+\sum_{i<j}d_id_j\\
&=\frac12\left(\left(\sum_i d_i\right)^2-\sum_i d_i\right)
=\boxed{\frac{d(d-1)}2}.
\end{aligned}
$$

The reduced convention matters. If one instead allows the equation $L^2=0$ as a nonreduced curve and uses its equation to test singularity, every point on its supporting line has vanishing first <partial derivatives>. A finite bound would then be false.