Files

47 lines
1.2 KiB
Markdown

---
id: 5900f50c1000cf542c51001e
title: 'Problem 415: Titanic sets'
challengeType: 5
forumTopicId: 302084
dashedName: problem-415-titanic-sets
---
# --description--
A set of lattice points $S$ is called a titanic set if there exists a line passing through exactly two points in $S$.
An example of a titanic set is $S = \\{(0, 0), (0, 1), (0, 2), (1, 1), (2, 0), (1, 0)\\}$, where the line passing through (0, 1) and (2, 0) does not pass through any other point in $S$.
On the other hand, the set {(0, 0), (1, 1), (2, 2), (4, 4)} is not a titanic set since the line passing through any two points in the set also passes through the other two.
For any positive integer $N$, let $T(N)$ be the number of titanic sets $S$ whose every point ($x$, $y$) satisfies $0 ≤ x$, $y ≤ N$. It can be verified that $T(1) = 11$, $T(2) = 494$, $T(4) = 33\\,554\\,178$, $T(111)\bmod {10}^8 = 13\\,500\\,401$ and $T({10}^5)\bmod {10}^8 = 63\\,259\\,062$.
Find $T({10}^{11})\bmod {10}^8$.
# --hints--
`titanicSets()` should return `55859742`.
```js
assert.strictEqual(titanicSets(), 55859742);
```
# --seed--
## --seed-contents--
```js
function titanicSets() {
return true;
}
titanicSets();
```
# --solutions--
```js
// solution required
```