Step 1: Set up what each group means.
Let C be patients with high cholesterol, B be patients with high BP, and D be patients with diabetes. Every patient with high cholesterol also has high BP, so C sits completely inside B. No patient has both high cholesterol and diabetes, so C and D do not overlap at all.
Step 2: Break high BP patients into three parts.
Since C sits entirely inside B, and C never overlaps D, the 45 patients with high BP split into exactly three non-overlapping groups: patients with only high BP and nothing else (given as 20), patients with high BP and high cholesterol (all of C, since C sits inside B, so this group is 10), and patients with high BP and diabetes, the group we need, call it x.
\[ |B| = (\text{only BP}) + |C| + x \]
\[ 45 = 20 + 10 + x \]
Step 3: Solve for x.
\[ x = 45 - 20 - 10 = 15 \]
If x were 0, 10, or 20 instead, the three parts of B would add up to 30, 40, or 50, not 45, so those values do not fit the given high BP count and are ruled out.
Step 4: Check against the total of 75.
Since every cholesterol patient already has high BP, patients with at least one condition are just the union of B and D. Patients with diabetes only (no BP) come to \(75 - 45 = 30\), so \(|D| = 15 + 30 = 45\), and \(|B \cup D| = 45 + 45 - 15 = 75\), which matches the given total and confirms the answer is consistent.
Final Answer:
The number of patients with both diabetes and high BP is 15.
\[ \boxed{15} \]