%I #21 Jun 12 2024 07:01:20
%S 1,3,10,21,91,120,300,990,2080,8911,11781,29403,97020,203841,873181,
%T 1154440,2881200,9506980,19974360,85562821,113123361,282328203,
%U 931587030,1957283461,8384283271,11084934960,27665282700,91286021970,191793804840,821574197731,1086210502741,2710915376403
%N The area of the n-th convex honeycomb formed by spirals of incrementing strips of hexagons.
%C In a hexagonal grid, begin with a single central hexagon. Wrap strips of incrementally more hexagons (strip of 2, then 3, etc.) around the center such that they are connected at their start and endpoints to the previous and subsequent strips. If a strip's endpoint completes a convex set of hexagons with all of those before it (i.e., the boundary hexagons' centers represent the convex hull of all hexagons' centers), the number of hexagons in the construction is a term of this sequence.
%C This is the intersection of triangular numbers (A000217) and A001399. The former represents the possible areas formed by the incrementing strip construction. The latter represents all possible convex bounding areas.
%e The first term is trivial, as it represents a single hexagon. So a(1) = 1.
%e Adding a strip of two hexagons forms a triple of hexagons whose set is also convex, with 3 total hexagons included. a(2) = 3.
%e The three-hexagon strip forms the first concave honeycomb, missing a single hexagon in what would otherwise be a 7-hex flower.
%e The four-hexagon strip completes a convex honeycomb that consists of three layers -- 3|4|3 hexagons in each. a(3) = 10.
%o (R)
%o # This generates and displays the first 20 examples
%o # along with the index of A000217 and A001399
%o generate_triangular_number <- function(n){
%o return(sum(1:n))
%o }
%o generate_hexangular_number <- function(n){
%o return(round((n + 3)^2/12))
%o }
%o tri_i <- 1
%o hex_i <- 1
%o n_matches <- 0
%o while(n_matches < 20){
%o if(generate_triangular_number(tri_i) == generate_hexangular_number(hex_i)){
%o n_matches <- n_matches + 1
%o print(c(n_matches, tri_i, hex_i, generate_triangular_number(tri_i)))
%o tri_i <- tri_i + 1
%o hex_i <- hex_i + 1
%o } else{
%o if(generate_triangular_number(tri_i) > generate_hexangular_number(hex_i)){
%o hex_i <- hex_i + 1
%o } else{
%o tri_i <- tri_i + 1
%o }
%o }
%o }
%o (PARI) lista(nn) = select(x->ispolygonal(x, 3), vector(nn, k, round((k + 3)^2/12))); \\ _Michel Marcus_, Jun 12 2024
%Y Cf. A000217, A001399.
%K nonn
%O 1,2
%A _Brandan Williams_, May 22 2024