diff --git a/AdventOfCode.lpi b/AdventOfCode.lpi
index ac855eb..eb33314 100644
--- a/AdventOfCode.lpi
+++ b/AdventOfCode.lpi
@@ -65,6 +65,10 @@
+
+
+
+
diff --git a/AdventOfCode.lpr b/AdventOfCode.lpr
index 4d5448f..5139121 100644
--- a/AdventOfCode.lpr
+++ b/AdventOfCode.lpr
@@ -26,7 +26,7 @@ uses
Classes, SysUtils, CustApp,
USolver,
UTrebuchet, UCubeConundrum, UGearRatios, UScratchcards, UGiveSeedFertilizer, UWaitForIt, UCamelCards,
- UHauntedWasteland;
+ UHauntedWasteland, UNumberTheory;
type
diff --git a/UNumberTheory.pas b/UNumberTheory.pas
new file mode 100644
index 0000000..f46ce3e
--- /dev/null
+++ b/UNumberTheory.pas
@@ -0,0 +1,60 @@
+{
+ Solutions to the Advent Of Code.
+ Copyright (C) 2023 Stefan Müller
+
+ This program is free software: you can redistribute it and/or modify it under
+ the terms of the GNU General Public License as published by the Free Software
+ Foundation, either version 3 of the License, or (at your option) any later
+ version.
+
+ This program is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along with
+ this program. If not, see .
+}
+
+unit UNumberTheory;
+
+{$mode ObjFPC}{$H+}
+
+interface
+
+uses
+ Classes, SysUtils;
+
+type
+
+ { TNumberTheory }
+
+ TNumberTheory = class
+ public
+ class function GreatestCommonDivisor(AValue1, AValue2: Integer): Integer;
+ class function LeastCommonMultiple(AValue1, AValue2: Integer): Integer;
+ end;
+
+implementation
+
+{ TNumberTheory }
+
+class function TNumberTheory.GreatestCommonDivisor(AValue1, AValue2: Integer): Integer;
+var
+ t: Integer;
+begin
+ while AValue2 <> 0 do
+ begin
+ t := AValue2;
+ AValue2 := AValue1 mod AValue2;
+ AValue1 := t;
+ end;
+ Result := AValue1;
+end;
+
+class function TNumberTheory.LeastCommonMultiple(AValue1, AValue2: Integer): Integer;
+begin
+ Result := (Abs(AValue1) div GreatestCommonDivisor(AValue1, AValue2)) * Abs(AValue2);
+end;
+
+end.
+