Clear["Global`*"]
ϵ=(1/4);
σ=1;
u[r_]:=(4*ϵ)*(((((σ/r)))^12)-((((σ/r)))^6)); (* Energy of two Argon atoms  as a function of the atom-atom distance. In dimensionless units of distance. *)

(* Plotting the function is very useful, present the plot.  *) 
Plot[u[r],{r,0.7,1.5},AxesLabel->{"r","U(r)"},GridLines->Automatic,PlotRange->{-100, 100}] 
(*AxesLabel, GridLines, and PlotRange are absolutely neccesary;these make the resulting plot acceptable. Find good values for plotrange (placeholder values are used now) so that the plot looks similar to what's shown in the problem setup, with the key features, including the minimum,  clearly seen.  The example below clearly has the wrong range, needs to be changed.  *)

(* After this point, for the solutions of the later problems, using NMinimize is the preferred solution. NMinimize attempts to find the global optimum. Other solutions using FindMinimum, and analytical solutions are acceptable, and applicable in some special cases; agreement between two different solutions is a good sanity check that the solution is correct.  Also analytical solution can be employed to check if your numerical solution is correct.*)
(*NMinimize is used here in 3 forms. The syntaxes are as follows:
NMinimize[f,x] minimizes f numerically with respect to x.
NMinimize[f,{x,y,…}] minimizes f numerically with respect to x,y,….
NMinimize[{f,cons},{x,y,…}] minimizes f numerically subject to the constraints cons.*)

;(* A general picture of the 3 atom molecule *)
(* With three atoms, follow the description of the problem; the energy function in question is (Subscript[U, tot])=(Subscript[U, 12])+(Subscript[U, 13])+(Subscript[U, 23]) *)
(Subscript[U, tot])[r1_,r2_,r3_]:=u[r1]+u[r2]+u[r3];

(* The numerical approach... *)
(* Numerically minimize (Subscript[U, tot]) for the three atom-atom distances... *)
NMinimize[{(Subscript[U, tot])[r1,r2,r3],r1>0&&r2>0&&r3>0},{r1,r2,r3}](* Using NMinimize, with constrains. Explain why we need these specific constraints r>0 here?  *)
FindMinimum[(Subscript[U, tot])[r1,r2,r3],{{r1, 100},{r2,100},{r3,100}}](* With FindMinimum, starting at (100,100,100) as a place holder starting point. That needs to be changed to a reasonable one. A good check if both NMinimize and FindMinimum give you the same answer.  *)

(* Note that FindMinimum is a _local_ minimizer, while NMinimize is a _global_ minimizer *)

(* If atoms are constrained to lie on a single line, we can redo the optimization in (f) with the associated constraints *)

;(* The key constraint, which we can identify from the image to the left, is r13=r12+r23 *)
(Subscript[U, totlin])[r1_,r2_]:=u[r1]+u[r2]+u[r1+r2]; (* We can rewrite the total energy function *)

(* Numerical Approach *)
NMinimize[(Subscript[U, totlin])[r1,r2],{r1,r2}](* Using NMinimize... *)
FindMinimum[(Subscript[U, totlin])[r1,r2],{{r1,100},{r2,100}}] (* Using FindMinimum. Starting point (100,100) is a wrong placeholder, you need to use a different, well justtified one *)

(* Extra Credit Question *)
(* Four atoms do not necessarily lie on a plane, so the native state is more complex than (f) *)
(* We must minimize the following energy function *)
U4[r12_,r13_,r14_,r23_,r24_,r34_] := u[r12]+u[r13]+u[r14]+u[r23]+u[r24]+u[r34];