+
+## Description :-
+
+Cuban Prime Checker is a web application that allows users to identify and find Cuban prime numbers within a specified range.
+
+* Checks if a number is a Cuban prime.
+* Finds Cuban prime numbers within a specified range.
+
+## What is a Cuban Prime?
+
+A Cuban prime is a prime number that is a solution to the Diophantine equation x^3 + y^3 = z^3 + 1, where x, y, and z are positive integers. In other words, it's a special type of prime number related to the sum of cubes.
+
+For example, 2, 19, 37 are Cuban primes as they satisfy the mentioned Diophantine equation.
+
+## Tech Stacks :-
+
+- HTML
+- CSS
+- JavaScript
+
+
+## Screenshots :-
+![Cuban](https://github.com/Rakesh9100/CalcDiverse/assets/125949765/61d9e288-e8bd-4be2-8a09-babb2bac3f1b)
diff --git a/Calculators/Cuban-Prime-Calculator/index.html b/Calculators/Cuban-Prime-Calculator/index.html
new file mode 100644
index 000000000..7262663f5
--- /dev/null
+++ b/Calculators/Cuban-Prime-Calculator/index.html
@@ -0,0 +1,57 @@
+
+
+
+
+
+
+
+ Cuban Prime Calculator
+
+
+
+
+
Cuban Prime Calculator
+
+
What is a Cuban Prime?
+
+ A Cuban prime is a prime number that is a solution to the Diophantine equation x^3 + y^3 = z^3 + 1, where x, y, and z are positive integers.
+ It's a special type of prime number related to the sum of cubes.
+
+
+
Formula:
+
+ The Diophantine equation for Cuban primes is x^3 + y^3 = z^3 + 1.
+
+
+
Solution Process:
+
+ When checking a number for Cuban primality, the application verifies if the given number satisfies the Diophantine equation.
+ The application then checks if both the calculated value and the given number are prime. If the conditions are met, the number is identified as a Cuban Prime.
+
+
+
+
+
Check Single Cuban Prime
+
+
+
+
+
+
+
+
Check Cuban Primes in Range
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Calculators/Cuban-Prime-Calculator/script.js b/Calculators/Cuban-Prime-Calculator/script.js
new file mode 100644
index 000000000..6b6224c1e
--- /dev/null
+++ b/Calculators/Cuban-Prime-Calculator/script.js
@@ -0,0 +1,67 @@
+function isPrime(num) {
+ if (num < 2) {
+ return false;
+ }
+ for (let i = 2; i <= num / 2; i++) {
+ if (num % i === 0) {
+ return false;
+ }
+ }
+ return true;
+}
+
+function cubeOfNum(num) {
+ return num * num * num;
+}
+
+function isCubanPrime(num) {
+ let res = cubeOfNum(num) - cubeOfNum(num - 1);
+ return isPrime(res) && isPrime(num);
+}
+
+function getCubanSolution(num) {
+ let res = cubeOfNum(num) - cubeOfNum(num - 1);
+ return ` The cube of ${num} is ${cubeOfNum(num)}. The cube of ${num - 1} is ${cubeOfNum(num - 1)}. The difference is ${res}. This number is Cuban Prime because both ${num} and ${res} are prime.`;
+}
+
+function checkCubanPrime() {
+ let number = document.getElementById('number').value;
+
+ if (!validateInput(number)) {
+ alert('Please enter a valid positive integer.');
+ return;
+ }
+
+ let result = isCubanPrime(parseInt(number));
+ let message = result ? `${number} is a Cuban Prime number. ${getCubanSolution(parseInt(number))}` : `${number} is not a Cuban Prime number.`;
+
+ document.getElementById('resultSingle').innerHTML = `${message}`;
+}
+
+function checkCubanPrimesInRange() {
+ let fromRange = parseInt(document.getElementById('fromRange').value);
+ let toRange = parseInt(document.getElementById('toRange').value);
+
+ if (isNaN(fromRange) || isNaN(toRange) || fromRange >= toRange) {
+ alert('Please enter valid range values.');
+ return;
+ }
+
+ let cubanPrimes = [];
+
+ for (let i = fromRange; i <= toRange; i++) {
+ if (isCubanPrime(i)) {
+ cubanPrimes.push(i);
+ }
+ }
+
+ if (cubanPrimes.length > 0) {
+ document.getElementById('rangeResult').innerHTML = `Cuban Prime numbers in the range ${fromRange} to ${toRange}: ${cubanPrimes.join(', ')}`;
+ } else {
+ document.getElementById('rangeResult').innerHTML = `There are no Cuban Prime numbers in the range ${fromRange} to ${toRange}.`;
+ }
+}
+
+function validateInput(number) {
+ return /^(0|[1-9]\d*)$/.test(number);
+}
diff --git a/Calculators/Cuban-Prime-Calculator/style.css b/Calculators/Cuban-Prime-Calculator/style.css
new file mode 100644
index 000000000..93be44348
--- /dev/null
+++ b/Calculators/Cuban-Prime-Calculator/style.css
@@ -0,0 +1,120 @@
+body {
+ font-family: 'Roboto', sans-serif;
+ text-align: center;
+ margin: 0;
+ padding: 0;
+ background: linear-gradient(135deg, #2980B9, #6DD5FA);
+ color: #fff;
+}
+
+.calculator {
+ display: flex;
+ justify-content: space-around;
+ align-items: flex-start;
+ margin: 50px auto;
+ max-width: 900px;
+}
+
+.section {
+ width: 45%;
+ padding: 20px;
+ box-sizing: border-box;
+ background: linear-gradient(45deg, #1E2A39, #394A5E);
+ border: 1px solid #00f;
+ border-radius: 15px;
+ box-shadow: 0 0 20px rgba(255, 255, 255, 0.8);
+ margin-bottom: 20px;
+}
+
+input {
+ padding: 10px;
+ font-size: 16px;
+ margin-top: 10px;
+ width: 100%;
+ box-sizing: border-box;
+ background-color: #fff;
+ border: none;
+ border-radius: 5px;
+}
+
+button {
+ padding: 10px 20px;
+ font-size: 16px;
+ cursor: pointer;
+ background-color: #3498DB;
+ color: #fff;
+ border: none;
+ border-radius: 5px;
+ margin-top: 10px;
+ transition: background-color 0.3s, box-shadow 0.3s;
+}
+
+button:hover {
+ background-color: #2980B9;
+ box-shadow: 0 0 20px rgba(255, 255, 255, 0.8);
+}
+
+p {
+ font-size: 18px;
+ margin-top: 20px;
+ color: #fff;
+}
+.cuban-prime-result {
+ color: #2ECC71;
+}
+
+.title {
+ padding: 20px;
+ margin: 0;
+ font-size: 36px;
+ font-weight: 900;
+ color: #FFC300;
+ transition: color 0.3s, transform 0.3s;
+}
+
+.title:hover {
+ color: #E74C3C;
+ transform: scale(1.1);
+}
+
+.calculator-title {
+ color: #2ECC71;
+ font-size: 24px;
+ font-weight: bold;
+ margin-bottom: 15px;
+}
+
+.information {
+ text-align: justify;
+ margin-top: 30px;
+ color: #fff;
+ max-width: 800px;
+ margin-left: auto;
+ margin-right: auto;
+ border: 1px solid #00f;
+ border-radius: 15px;
+ padding: 20px;
+ box-shadow: 0 0 20px rgba(255, 255, 255, 0.8);
+}
+
+
+.information h2 {
+ color: #FFC300;
+ font-size: 24px;
+ margin-bottom: 10px;
+}
+
+.information p {
+ font-size: 16px;
+ line-height: 1.6;
+ margin-bottom: 20px;
+}
+.cuban-prime {
+ color: #2ECC71; }
+
+.not-cuban-prime {
+ color: #E74C3C;
+}
+.rangeResult{
+ color: #2ECC71;
+}
diff --git a/index.html b/index.html
index 486bd6615..8307ae23a 100644
--- a/index.html
+++ b/index.html
@@ -1883,6 +1883,20 @@
Calculates the time in which you can payoff your Credits.
+
+
+
Cuban Prime Calculator
+
Checks if a number is cuban prime or not and finds cuban prime numbers in a range.