function y = twb_rule_y ( strength )

%*****************************************************************************80
%
%% twb_rule_y() returns the y abscissas of a TWB rule of given strength.
%
%  Licensing:
%
%    This code is distributed under the MIT license.
%
%  Modified:
%
%    16 April 2019
%
%  Author:
%
%    John Burkardt
%
%  Reference:
%
%    Mark Taylor, Beth Wingate, Len Bos, 
%    Several new quadrature formulas for polynomial integration in the triangle, 
%    http://arxiv.org/abs/math/0501496v2,
%    08 February 2007.
%
%  Input:
%
%    integer STRENGTH, the desired strength.
%    1 <= STRENGTH.
%
%  Output:
%
%    real Y(N), the y abscissas of the rule, if it exists.
%
  n = twb_rule_n ( strength );

  if ( n < 1 )
    y = [];
    return
  end

  if ( strength == 1 )
    y = [ ...
    0.3333333333333 ];
  elseif ( strength == 2 )
    y = [ ...
    0.6666666666667; ...
    0.1666666666667; ...
    0.1666666666667 ];
  elseif ( strength == 4 )
    y = [ ...
    0.0915762135098; ...
    0.0915762135098; ...
    0.8168475729805; ...
    0.4459484909160; ...
    0.1081030181681; ...
    0.4459484909160 ];
  elseif ( strength == 5 )
    y = [ ...
    1.0000000000000; ...
    0.0000000000000; ...
    0.0000000000000; ...
    0.6728199218710; ...
    0.2673288599482; ...
    0.6716530111494; ...
    0.0649251690029; ...
    0.2693789366453; ...
    0.0654054874919; ...
    0.3386799893027 ];
  elseif ( strength == 7 )
    y = [ ...
    0.0000000000000; ...
    0.0000000000000; ...
    1.0000000000000; ...
    0.0421382841642; ...
    0.7839656651012; ...
    0.0421382841642; ...
    0.1738960507345; ...
    0.1738960507345; ...
    0.7839656651012; ...
    0.4743880861752; ...
    0.0512238276497; ...
    0.4743880861752; ...
    0.5228769399639; ...
    0.2385615300181; ...
    0.2385615300181 ];
  elseif ( strength == 9 )
    y = [ ...
    0.0451890097844; ...
    0.9096219804312; ...
    0.0451890097844; ...
    0.0304243617288; ...
    0.0304243617288; ...
    0.2220631655373; ...
    0.7475124727339; ...
    0.7475124727339; ...
    0.2220631655373; ...
    0.2182900709714; ...
    0.2182900709714; ...
    0.6447187277637; ...
    0.6447187277637; ...
    0.1369912012649; ...
    0.1369912012649; ...
    0.4815198347833; ...
    0.0369603304334; ...
    0.4815198347833; ...
    0.1927920403641; ...
    0.4036039798179; ...
    0.4036039798179 ];
  elseif ( strength == 11 )
    y = [ ...
    0.9451704450174; ...
    0.0000000000000; ...
    0.0685505797224; ...
    0.9289002405717; ...
    0.0243268355616; ...
    0.0277838749488; ...
    0.1279662835337; ...
    0.7498347588657; ...
    0.0287083428360; ...
    0.2497602062385; ...
    0.7228007909707; ...
    0.8325513856997; ...
    0.0865562992839; ...
    0.0303526617491; ...
    0.3061619157675; ...
    0.4868610595047; ...
    0.1765456154219; ...
    0.6657904293016; ...
    0.5295657488669; ...
    0.0293121007360; ...
    0.1444673824391; ...
    0.5361815729050; ...
    0.3299740111409; ...
    0.1437790861923; ...
    0.5511507516862; ...
    0.1529619437161; ...
    0.3348066587327; ...
    0.3430183498147 ];
  elseif ( strength == 13 )
    y = [ ...
    0.9493059293846; ...
    0.0242695130640; ...
    0.0265067966437; ...
    0.4767316412363; ...
    0.5198921829102; ...
    0.0055912706202; ...
    0.0133996048618; ...
    0.8613054321334; ...
    0.1247733717358; ...
    0.8438438351223; ...
    0.1354563645830; ...
    0.0213482820656; ...
    0.0221919663014; ...
    0.3089012879389; ...
    0.6691709943321; ...
    0.6924718155106; ...
    0.0268723345026; ...
    0.2810093973222; ...
    0.7973581413586; ...
    0.0879806508791; ...
    0.1145020561128; ...
    0.6686904119922; ...
    0.2275051631832; ...
    0.1054572561221; ...
    0.5174064398658; ...
    0.3170523855209; ...
    0.1810706361659; ...
    0.4678594539804; ...
    0.4622856042085; ...
    0.0724357805669; ...
    0.6131395039177; ...
    0.1300360834609; ...
    0.2581713828884; ...
    0.2362005969817; ...
    0.4311026308588; ...
    0.3456013949376 ];
  elseif ( strength == 14 )
    y = [ ...
    1.0000000000000; ...
    0.0000000000000; ...
    0.0000000000000; ...
    0.0151382269814; ...
    0.9275286857160; ...
    0.0573330873026; ...
    0.0573330873026; ...
    0.0151382269814; ...
    0.9275286857160; ...
    0.1659719969565; ...
    0.0180654989724; ...
    0.8159625040711; ...
    0.8159625040711; ...
    0.0180654989724; ...
    0.1659719969565; ...
    0.0186886898773; ...
    0.0186886898773; ...
    0.6647637544849; ...
    0.3165475556378; ...
    0.6647637544849; ...
    0.3165475556378; ...
    0.4903668903754; ...
    0.0192662192492; ...
    0.4903668903754; ...
    0.8249730660837; ...
    0.0875134669581; ...
    0.0875134669581; ...
    0.2079865423167; ...
    0.6984608540613; ...
    0.0935526036219; ...
    0.0935526036219; ...
    0.2079865423167; ...
    0.6984608540613; ...
    0.5380088595149; ...
    0.0974892983467; ...
    0.0974892983467; ...
    0.3645018421383; ...
    0.5380088595149; ...
    0.3645018421383; ...
    0.5565708210253; ...
    0.2217145894873; ...
    0.2217145894873; ...
    0.2279056661408; ...
    0.3860471669296; ...
    0.3860471669296 ];
  elseif ( strength == 16 )
    y = [ ...
    0.0000000000000; ...
    1.0000000000000; ...
    0.0000000000000; ...
    0.0049848744634; ...
    0.9386405618617; ...
    0.0526424462697; ...
    0.9469035517351; ...
    0.0363373677167; ...
    0.0151224541799; ...
    0.8693773510664; ...
    0.1204917285774; ...
    0.0157763967870; ...
    0.8448120870375; ...
    0.0135009605584; ...
    0.1455274938536; ...
    0.0155697540908; ...
    0.7379836894450; ...
    0.7297615689771; ...
    0.2543076683315; ...
    0.2696239795791; ...
    0.0144783956308; ...
    0.0591679410400; ...
    0.8634782575061; ...
    0.4191238955238; ...
    0.5809222921146; ...
    0.0159251452651; ...
    0.5806700368104; ...
    0.4149495146302; ...
    0.0761218678591; ...
    0.0157509692312; ...
    0.7741898312421; ...
    0.0819119495639; ...
    0.1577128457292; ...
    0.7503943099742; ...
    0.0708311507268; ...
    0.1762996626771; ...
    0.0807744953317; ...
    0.3054373589776; ...
    0.6227485988871; ...
    0.6247247149546; ...
    0.3011485821166; ...
    0.0779098365079; ...
    0.4603633038351; ...
    0.0821554006797; ...
    0.4637565033890; ...
    0.6422277808188; ...
    0.1898293537256; ...
    0.1739955685343; ...
    0.4798914070406; ...
    0.3348356598119; ...
    0.4957972197259; ...
    0.1927553668904; ...
    0.3161015807261; ...
    0.1894892801290; ...
    0.3343571021811 ];
  elseif ( strength == 18 )
    y = [ ...
    0.9812565951289; ...
    0.0071462504863; ...
    0.0115153933376; ...
    0.0495570591341; ...
    0.9370123620615; ...
    0.0121364578922; ...
    0.0612783625597; ...
    0.0141128270602; ...
    0.9220197291727; ...
    0.1500520475229; ...
    0.8325147121589; ...
    0.0125228158759; ...
    0.1371997508736; ...
    0.8477627063479; ...
    0.0136526924039; ...
    0.5770438618345; ...
    0.7066853759623; ...
    0.0124569780990; ...
    0.0121741311386; ...
    0.4194306712466; ...
    0.5599616067469; ...
    0.0116475994785; ...
    0.0118218313989; ...
    0.4057889581177; ...
    0.2725023750868; ...
    0.7224712523233; ...
    0.2602984019251; ...
    0.0631417277210; ...
    0.0720611837338; ...
    0.8590433543910; ...
    0.7888788352240; ...
    0.1493935499354; ...
    0.0656382042757; ...
    0.5255635695605; ...
    0.0716383926917; ...
    0.0621479485288; ...
    0.1658211554831; ...
    0.6800119766139; ...
    0.7571515437782; ...
    0.4121503841107; ...
    0.2612513087886; ...
    0.3902236114535; ...
    0.6373626559761; ...
    0.0637583342061; ...
    0.5503238090563; ...
    0.2836728360263; ...
    0.0605175522554; ...
    0.0611990176936; ...
    0.6861322141035; ...
    0.1567968345899; ...
    0.1667512624020; ...
    0.2504803933395; ...
    0.4994090649043; ...
    0.5756023096087; ...
    0.5656897354162; ...
    0.1437921574248; ...
    0.2518557535865; ...
    0.1462966743153; ...
    0.4489577586117; ...
    0.3001174386829; ...
    0.2813772089298; ...
    0.4252053446420; ...
    0.2599190004889; ...
    0.1453238443303; ...
    0.3780122703567; ...
    0.3847563284940 ];
  elseif ( strength == 20 )
    y = [ ...
    0.0086983293702; ...
    0.0102644133744; ...
    0.9785514202515; ...
    0.0636551098604; ...
    0.0041506347509; ...
    0.0048053482263; ...
    0.9316790069481; ...
    0.0626264881801; ...
    0.9293587058564; ...
    0.0310202122997; ...
    0.0342152968219; ...
    0.9257868884669; ...
    0.1584971251510; ...
    0.8363606657688; ...
    0.0089257244824; ...
    0.1529167304078; ...
    0.0094966240058; ...
    0.8342211493596; ...
    0.0074389302008; ...
    0.3956330809311; ...
    0.4031319425903; ...
    0.5851609594681; ...
    0.5974896592899; ...
    0.0087250464968; ...
    0.0202129229912; ...
    0.7202340088668; ...
    0.2662399366456; ...
    0.0112882698808; ...
    0.7169695963325; ...
    0.2740067110166; ...
    0.0113511560497; ...
    0.4936491841468; ...
    0.4832573459601; ...
    0.0935679501582; ...
    0.0397379067075; ...
    0.8586343419352; ...
    0.0395513001973; ...
    0.0966224057079; ...
    0.8561886349107; ...
    0.7449115835626; ...
    0.0536865638166; ...
    0.1963754275935; ...
    0.1982065805550; ...
    0.0555713833156; ...
    0.6100036182413; ...
    0.7409121894959; ...
    0.6075135660978; ...
    0.1122081510437; ...
    0.2698753703035; ...
    0.1114117395333; ...
    0.3389367677931; ...
    0.0494693938787; ...
    0.7696451309795; ...
    0.1115718808154; ...
    0.1906548314700; ...
    0.3358616826849; ...
    0.1551831523851; ...
    0.6081402596294; ...
    0.0542632795598; ...
    0.0688176670722; ...
    0.6510240845749; ...
    0.4661904392742; ...
    0.4634826455353; ...
    0.2381494875516; ...
    0.1238399384513; ...
    0.6370216452326; ...
    0.4894188577780; ...
    0.1452880866253; ...
    0.3610216383818; ...
    0.3513508341887; ...
    0.1435491663293; ...
    0.5016491599502; ...
    0.2406052129104; ...
    0.5109017277055; ...
    0.2452737973543; ...
    0.3700319555094; ...
    0.2505406611631; ...
    0.3753750277549 ];
  elseif ( strength == 21 )
    y = [ ...
    0.0035524391922; ...
    0.9928951216156; ...
    0.0035524391922; ...
    0.0087898929093; ...
    0.0087898929093; ...
    0.0358552797177; ...
    0.0358552797177; ...
    0.9553548273730; ...
    0.9553548273730; ...
    0.1082329745017; ...
    0.0052405375935; ...
    0.1082329745017; ...
    0.8865264879047; ...
    0.8865264879047; ...
    0.0052405375935; ...
    0.9067205135700; ...
    0.0466397432150; ...
    0.0466397432150; ...
    0.0082759241284; ...
    0.7841520301770; ...
    0.2075720456946; ...
    0.7841520301770; ...
    0.2075720456946; ...
    0.0082759241284; ...
    0.0314836947701; ...
    0.0314836947701; ...
    0.0858119489725; ...
    0.8827043562574; ...
    0.0858119489725; ...
    0.8827043562574; ...
    0.0095150760625; ...
    0.3216071005550; ...
    0.6688778233826; ...
    0.3216071005550; ...
    0.6688778233826; ...
    0.0095150760625; ...
    0.0099859785681; ...
    0.5520140671206; ...
    0.5520140671206; ...
    0.4379999543113; ...
    0.4379999543113; ...
    0.0099859785681; ...
    0.0405093994119; ...
    0.1619974933734; ...
    0.7974931072148; ...
    0.7974931072148; ...
    0.1619974933734; ...
    0.0405093994119; ...
    0.3864215551955; ...
    0.2271568896090; ...
    0.3864215551955; ...
    0.0954935310336; ...
    0.8090129379329; ...
    0.0954935310336; ...
    0.0479840480721; ...
    0.6774734280561; ...
    0.0479840480721; ...
    0.2745425238718; ...
    0.6774734280561; ...
    0.2745425238718; ...
    0.5429849622344; ...
    0.4053472446667; ...
    0.0516677930989; ...
    0.0516677930989; ...
    0.5429849622344; ...
    0.4053472446667; ...
    0.1068148267588; ...
    0.1877738615539; ...
    0.1068148267588; ...
    0.7054113116872; ...
    0.7054113116872; ...
    0.1877738615539; ...
    0.3057122990643; ...
    0.5747817297348; ...
    0.1195059712009; ...
    0.3057122990643; ...
    0.5747817297348; ...
    0.1195059712009; ...
    0.2009377128319; ...
    0.5981245743363; ...
    0.2009377128319; ...
    0.3121360256673; ...
    0.2160775200005; ...
    0.4717864543321; ...
    0.4717864543321; ...
    0.3121360256673; ...
    0.2160775200005; ...
    0.4376579903849; ...
    0.1246840192303; ...
    0.4376579903849; ...
    0.3333333333333 ];
  elseif ( strength == 23 )
    y = [ ...
    0.9903676436772; ...
    0.0087809216232; ...
    0.0335914404439; ...
    0.0027028946710; ...
    0.0091676353051; ...
    0.0084737176656; ...
    0.9675569435345; ...
    0.0676784943862; ...
    0.0078781659291; ...
    0.0442974541187; ...
    0.9470266676487; ...
    0.0081735455132; ...
    0.9144244234031; ...
    0.3833232434720; ...
    0.2497451268005; ...
    0.1035328809446; ...
    0.8876849931840; ...
    0.1403190991974; ...
    0.0077255934624; ...
    0.1809642523926; ...
    0.8104590515334; ...
    0.0083010939677; ...
    0.8330768545392; ...
    0.0348406969482; ...
    0.7173981847948; ...
    0.2740287304386; ...
    0.0081859182262; ...
    0.2394975566677; ...
    0.4843740892687; ...
    0.0068836232949; ...
    0.4960767529507; ...
    0.3804323691239; ...
    0.6112936466533; ...
    0.0083987179701; ...
    0.7303890895407; ...
    0.0075475979695; ...
    0.6128525484582; ...
    0.3559773826721; ...
    0.0079525358502; ...
    0.0437233665345; ...
    0.9110236807446; ...
    0.0967030908282; ...
    0.0388479942386; ...
    0.0873226620391; ...
    0.8485617789108; ...
    0.0421445420915; ...
    0.1067435942472; ...
    0.8477921328146; ...
    0.0416340521608; ...
    0.1833965196930; ...
    0.1941599202852; ...
    0.7611632153938; ...
    0.0439826608586; ...
    0.7579378242308; ...
    0.5363186076436; ...
    0.0369760780935; ...
    0.7912267093545; ...
    0.1001257554673; ...
    0.4157413128558; ...
    0.0379867061535; ...
    0.0420141226713; ...
    0.6507105645084; ...
    0.2920626023484; ...
    0.0425548546753; ...
    0.4193031469005; ...
    0.5389729093610; ...
    0.3007352636162; ...
    0.6549471812731; ...
    0.3453980130752; ...
    0.3752400695673; ...
    0.1598308695187; ...
    0.0994531960132; ...
    0.7124585430924; ...
    0.1797327722240; ...
    0.7001701784175; ...
    0.1066065855677; ...
    0.6065647984796; ...
    0.0993303896769; ...
    0.2533381579528; ...
    0.1023223826189; ...
    0.2769502060575; ...
    0.6166227900624; ...
    0.4981522637001; ...
    0.0904185045149; ...
    0.3738418516908; ...
    0.0928232584790; ...
    0.2521680925697; ...
    0.3905580544330; ...
    0.5087501437661; ...
    0.5266738039554; ...
    0.1706142257537; ...
    0.2588055084886; ...
    0.3487583491703; ...
    0.3013522183964; ...
    0.1696615963219; ...
    0.4584741774478; ...
    0.2580203819011; ...
    0.1848898704551; ...
    0.1921611994069; ...
    0.6130740398389; ...
    0.1650613336416; ...
    0.4180541199244; ...
    0.2982719005229; ...
    0.5159205534362; ...
    0.4098894317792 ];
  elseif ( strength == 25 )
    y = [ ...
    0.9848202768869; ...
    0.5381577969759; ...
    0.0080842361390; ...
    0.0070015755134; ...
    0.4625552130951; ...
    0.4887676880140; ...
    0.0000000000000; ...
    0.9574158053697; ...
    0.0364655449485; ...
    0.0070908577166; ...
    0.8936125594937; ...
    0.0049451705600; ...
    0.0996676659189; ...
    0.0415561148784; ...
    0.9494865260352; ...
    0.0081794507292; ...
    0.0053224326262; ...
    0.9065401020433; ...
    0.0894771171077; ...
    0.0070525342005; ...
    0.6663179931111; ...
    0.0092197583153; ...
    0.8335207460527; ...
    0.1665134939330; ...
    0.7424693255229; ...
    0.0065717743528; ...
    0.0064354534962; ...
    0.7185296120719; ...
    0.1766411374714; ...
    0.2704767254004; ...
    0.0082299533210; ...
    0.5934167875453; ...
    0.2648817553752; ...
    0.8115848976682; ...
    0.0068553525429; ...
    0.3757632659744; ...
    0.6148573533757; ...
    0.9210792302893; ...
    0.0426025082114; ...
    0.0372689941794; ...
    0.3724055713809; ...
    0.0081436422011; ...
    0.8771098372601; ...
    0.0943858903393; ...
    0.0313198990883; ...
    0.1049019782046; ...
    0.8609856462886; ...
    0.0357152881004; ...
    0.1872318199265; ...
    0.4834397678794; ...
    0.7783474916042; ...
    0.0804060570156; ...
    0.8421414817051; ...
    0.0849927089145; ...
    0.4892855914710; ...
    0.0345210858281; ...
    0.0190774755077; ...
    0.1691143187109; ...
    0.0412206731484; ...
    0.7894860640585; ...
    0.5895318272013; ...
    0.3681256217699; ...
    0.0359968962541; ...
    0.6790704673533; ...
    0.0373639992361; ...
    0.2803330345725; ...
    0.2634016180014; ...
    0.0364154673322; ...
    0.6980717436193; ...
    0.7612254618453; ...
    0.0943741220275; ...
    0.1479799836832; ...
    0.3821329641698; ...
    0.0426716362301; ...
    0.5718082874432; ...
    0.7702204382042; ...
    0.1559420577362; ...
    0.0842965421322; ...
    0.4538181318873; ...
    0.4586014071171; ...
    0.4795313560210; ...
    0.1230591237472; ...
    0.0834119779793; ...
    0.6755677013351; ...
    0.2326500892727; ...
    0.2448294007406; ...
    0.0661749044835; ...
    0.4442145585244; ...
    0.0929096534577; ...
    0.0889793655129; ...
    0.6780053081672; ...
    0.5847381559741; ...
    0.5139245722736; ...
    0.3340976249234; ...
    0.1380154720554; ...
    0.6788062619562; ...
    0.1663358925269; ...
    0.1582214504849; ...
    0.5666590332543; ...
    0.0978960873457; ...
    0.3468917820947; ...
    0.3599534491052; ...
    0.5810131373330; ...
    0.2560674640672; ...
    0.5881469552102; ...
    0.1652244065047; ...
    0.3496507466106; ...
    0.2549448448453; ...
    0.2543369115017; ...
    0.1666603916479; ...
    0.2523240191705; ...
    0.4959007627528; ...
    0.1805380367800; ...
    0.4358582329881; ...
    0.2120576104941; ...
    0.3552681570774; ...
    0.4670352922266; ...
    0.3323152819300; ...
    0.3898041176680; ...
    0.2778500044356 ];
  end

  return
end
